Unigine::Primitives Class
Header: | #include <UniginePrimitives.h> |
This class contains methods allowing you to create dynamic meshes of the predefined forms, or add surfaces of the predefined forms to already existing dynamic meshes.
Primitives Class
Members
Ptr<ObjectMeshDynamic> createBox( const Math::vec3 & size )
Creates a dynamic mesh in a form of a box.Arguments
- const Math::vec3 & size - Box size along the X, Y and Z axes.
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createCapsule( float radius, float height, int stacks = 16, int slices = 32 )
Creates a dynamic mesh in a form of a capsule.Arguments
- float radius - Capsule radius.
- float height - Capsule height.
- int stacks - Number of stacks that divide the capsule radially.
- int slices - Number of slices that divide the capsule horizontally.
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createCylinder( float radius, float height, int stacks = 1, int slices = 32 )
Creates a dynamic mesh in a form of a cylinder.Arguments
- float radius - Cylinder radius.
- float height - Cylinder height.
- int stacks - Number of stacks that divide the cylinder radially.
- int slices - Number of slices that divide the cylinder horizontally.
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createDodecahedron( float radius )
Creates a dynamic mesh in a form of a dodecahedron.Arguments
- float radius - Dodecahedron radius.
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createIcosahedron( float radius )
Creates a dynamic mesh in a form of an icosahedron.Arguments
- float radius - Icosahedron radius.
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createPlane( float width, float height, float step )
Creates a dynamic mesh in a form of a plane. It is divided into equal squares whose size is defined by the given step.Arguments
- float width - Plane width.
- float height - Plane height.
- float step - Step of surface subdivision (vertical and horizontal).
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createPrism( float size_0, float size_1, float height, int sides = 8 )
Creates a dynamic mesh in a form of a prism.Arguments
- float size_0 - Radius of the circle circumscribed about the top prism base.
- float size_1 - Radius of the circle circumscribed about the bottom prism base.
- float height - Height of the prism.
- int sides - Number of the prism faces.
Return value
ObjectMeshDynamic instance.Ptr<ObjectMeshDynamic> createSphere( float radius, int stacks = 16, int slices = 32 )
Creates a dynamic mesh in a form of a sphere.Arguments
- float radius - Sphere radius.
- int stacks - Number of stacks that divide the sphere radially.
- int slices - Number of slices that divide the sphere horizontally.
Return value
ObjectMeshDynamic instance.void addBoxSurface( Ptr<ObjectMeshDynamic> & object, const Math::vec3 & size, const Math::mat4 & transform )
Appends a box of the specified size to ObjectMeshDynamic.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- const Math::vec3 & size - Box size along the X, Y and Z axes.
- const Math::mat4 & transform - Box transformation matrix.
void addCapsuleSurface( Ptr<ObjectMeshDynamic> & object, float radius, float height, const Math::mat4 & transform, int stacks = 16, int slices = 32 )
Appends a capsule of the specified size to ObjectMeshDynamic. The stacks and slices specify the surface's subdivision.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float radius - Capsule radius.
- float height - Capsule height along the central axis.
- const Math::mat4 & transform - Capsule transformation matrix.
- int stacks - Number of stacks that divide the capsule radially.
- int slices - Number of slices that divide the capsule horizontally.
void addCylinderSurface( Ptr<ObjectMeshDynamic> & object, float radius, float height, const Math::mat4 & transform, int stacks = 1, int slices = 32 )
Appends a cylinder of the specified size to ObjectMeshDynamic. The stacks and slices specify the surface's subdivision.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float radius - Cylinder radius.
- float height - Cylinder height.
- const Math::mat4 & transform - Cylinder transformation matrix.
- int stacks - Number of stacks that divide the cylinder radially.
- int slices - Number of slices that divide the cylinder horizontally.
void addDodecahedronSurface( Ptr<ObjectMeshDynamic> & object, float radius, const Math::mat4 & transform )
Appends a dodecahedron (a polyhedron with twelve flat faces) of the specified size to ObjectMeshDynamic.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float radius - Dodecahedron radius.
- const Math::mat4 & transform - Transformation matrix.
void addIcosahedronSurface( Ptr<ObjectMeshDynamic> & object, float radius, const Math::mat4 & transform )
Appends a icosahedron (a polyhedron with twenty flat faces) of the specified size to ObjectMeshDynamic.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float radius - Icosahedron radius.
- const Math::mat4 & transform - Transformation matrix.
void addPlaneSurface( Ptr<ObjectMeshDynamic> & object, float width, float height, float step, const Math::mat4 & transform )
Appends a plane surface to the dynamic mesh. The plane is divided into equal squares, size of which is defined by the given step.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float width - Width of the plane.
- float height - Height of the plane.
- float step - Step of surface subdivision (vertical and horizontal).
- const Math::mat4 & transform - Plane transformation matrix.
void addPrismSurface( Ptr<ObjectMeshDynamic> & object, float size_0, float size_1, float height, const Math::mat4 & transform, int sides = 8 )
Appends a prism to the dynamic mesh.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float size_0 - Radius of the circle circumscribed about the top prism base.
- float size_1 - Radius of the circle circumscribed about the bottom prism base.
- float height - Dimension of the prism's central axis.
- const Math::mat4 & transform - Prism transformation matrix.
- int sides - Number of the prism faces.
void addSphereSurface( Ptr<ObjectMeshDynamic> & object, float radius, const Math::mat4 & transform, int stacks = 16, int slices = 32 )
Appends a sphere surface to the dynamic mesh. The stacks and slices specify the surface's subdivision.Arguments
- Ptr<ObjectMeshDynamic> & object - ObjectMeshDynamic instance.
- float radius - Sphere radius.
- const Math::mat4 & transform - Transformation matrix.
- int stacks - Number of stacks that divide the sphere radially.
- int slices - Number of slices that divide the sphere horizontally.
Last update:
2020-01-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)