Bifrost SDK
Bifrost SDK documentation
Primitives.h File Reference

Utility functions to build basic primitives that conform to the geometry schema. More...

Go to the source code of this file.

Namespaces

namespace  Bifrost
 
namespace  Bifrost::Geometry
 

Functions

BIFROST_GEOMETRY_DECL Amino::Ptr< Amino::Array< Amino::Ptr< Bifrost::Object > > > Bifrost::Geometry::getGeometryTypes ()
 Return a list of geometry prototypes, ordered from most to least specific. Can be used to find the type of an object, for example using the helper function Bifrost::Geometry::resolveType. More...
 
template<typename Prototypes >
decltype(auto) Bifrost::Geometry::findPrototype (Bifrost::Object const &obj, Prototypes const &prototypes)
 Finds the first prototype in the given prototypes such that the given object satisfies this prototype. More...
 
Common::GeometryType Bifrost::Geometry::resolveType (Bifrost::Object const &obj)
 Determine the type of an object. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getVolumePrototype ()
 Returns the prototypical volume object. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateVolume (Bifrost::Object &object)
 Populate an object with the required properties to conform to the volume geometry schema. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getLevelSetPrototype ()
 Returns the prototypical level set object. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getFogVolumePrototype ()
 Returns the prototypical fog volume object. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getFlipLiquidPrototype ()
 Returns the prototypical liquid set object. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateFlipLiquid (Bifrost::Object &object)
 Populate an object with the required properties to conform to the liquid geometry schema. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateLevelSet (Bifrost::Object &object)
 Populate an object with the required properties to conform to the level set geometry schema. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateFogVolume (Bifrost::Object &object)
 Populate an object with the required properties to conform to the fog volume geometry schema. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getPointCloudPrototype ()
 Returns the prototypical point cloud object. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populatePointCloud (Bifrost::Object &object)
 Populate an object with the required properties to conform to the point cloud geometry schema. More...
 
bool BIFROST_GEOMETRY_DECL Bifrost::Geometry::populatePointCloud (Amino::Ptr< Amino::Array< Bifrost::Math::float3 > > position, Bifrost::Object &object)
 Populate an object with the required properties to conform to the point cloud geometry schema. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getStrandPrototype ()
 Returns the prototypical strand object. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateStrand (Bifrost::Object &object)
 Populate an object with the required properties to conform to the strand geometry schema. More...
 
bool BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateStrand (Amino::Ptr< Amino::Array< Bifrost::Math::float3 > > positions, Amino::Ptr< Amino::Array< Bifrost::Geometry::Index > > strandOffsets, Bifrost::Object &object)
 Populate an object with the required properties to conform to the strand geometry schema. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getMeshPrototype ()
 Returns the prototypical mesh object. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateMesh (Bifrost::Object &object)
 Populate an object with the required properties to conform to the Mesh geometry schema. More...
 
bool BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateMesh (Amino::Ptr< Amino::Array< Bifrost::Math::float3 > > positions, Amino::Ptr< Amino::Array< Bifrost::Geometry::Index > > face_vertices, Amino::Ptr< Amino::Array< Bifrost::Geometry::Index > > face_offsets, Bifrost::Object &object)
 Populate an object with the required properties to conform to the Mesh geometry schema. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateCubeMesh (float width, Bifrost::Object &object)
 Populate an object with the properties and values required to define a six-sided cube mesh. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateSphereMesh (float radius, Bifrost::Object &object)
 Populate an object with the properties of a mesh sphere. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populatePlaneMesh (float width, unsigned subdivisions, Bifrost::Object &object)
 Populate an object with the properties and values required to define a unit plane with the requested subdivisions on the X and Z axes. More...
 
Amino::Ptr< Bifrost::Object > BIFROST_GEOMETRY_DECL Bifrost::Geometry::getInstancesPrototype ()
 Returns the prototypical Instances object. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::populateInstances (Bifrost::Object &object)
 Populate an object with the required properties to conform to the Instances schema. More...
 
void BIFROST_GEOMETRY_DECL Bifrost::Geometry::clearGeometryPrototypes ()
 clear internal geometry structures kept as prototypes More...
 

Detailed Description

Utility functions to build basic primitives that conform to the geometry schema.

Definition in file Primitives.h.