| Linderdaum Engine: clGeomServ Class Reference | ![]() |
#include <GeomServ.h>
Static Public Member Functions | |
| static void | SplitTriangles (size_t NumTriangles, int Indices[], const LVector3 Vertices[], std::vector< int > *OutIndices, std::vector< LVector3 > *OutVertices) |
| static clVertexAttribs * | CreateTriangle2D (float vX, float vY, float dX, float dY, float Z) |
| static clVertexAttribs * | CreateRect2D (float X1, float Y1, float X2, float Y2, float Z, bool FlipTexCoordsVertical, int Subdivide) |
| static clVertexAttribs * | CreateBevelRect2D (float X1, float Y1, float X2, float Y2, float Z, float Radius) |
| static void | AddAxisAlignedBox (clVertexAttribs *VA, const LVector3 &Min, const LVector3 &Max, bool Generate3DCoords) |
| Add a new textured cube to vertex array (to avoid redundant scene items) | |
| static void | AddTube (clVertexAttribs *VA, int Segments, LVector3 Center, LVector3 Direction, float Radius, bool Cone) |
| static void | AddPlane (clVertexAttribs *VA, float SizeX, float SizeY, int SegmentsX, int SegmentsY, float Z) |
| static void | AddSphere (clVertexAttribs *VA, float Radius, LVector3 Center, int TessLevel) |
| static clVertexAttribs * | CreateTube (int Segments, LVector3 Base, LVector3 Direction, float Radius, bool Cone) |
| static clVertexAttribs * | CreateAxisAlignedBox (const LVector3 &Min, const LVector3 &Max, bool Generate3DCoords) |
| Generate AABB using AddAxisAlignedBox() | |
| static clVertexAttribs * | CreateSkyDome (float Radius, float dTheta, float dPhi, float VCoef, LVector3 Center) |
| static clVertexAttribs * | CreatePlane (float SizeX, float SizeY, int SegmentsX, int SegmentsY, float Z) |
| static clVertexAttribs * | CreateSphere (float Radius, LVector3 Center, int TessLevel) |
| static clVertexAttribs * | CreateTetrahedron (float Radius, LVector3 Center) |
| static clVertexAttribs * | CreateIcosahedron (float Radius, LVector3 Center) |
| static clVertexAttribs * | CreateGear (float BaseRadius, float RootRadius, float OuterRadius, float Width, int NumberOfTeeth, int InvoluteSteps) |
| build an involute gear | |
| static clVertexAttribs * | CreateISOGear (float Module, int NumberOfTeeth, float ProfileShift, float Width) |
| static clVertexAttribs * | CreateSkeletonPose (clJointsSet *Joints, float BaseBoneRadius, float JointRadius) |
| Visual representation of a single pose. | |
| void clGeomServ::AddAxisAlignedBox | ( | clVertexAttribs * | VA, |
| const LVector3 & | Min, | ||
| const LVector3 & | Max, | ||
| bool | Generate3DCoords | ||
| ) | [static] |
Add a new textured cube to vertex array (to avoid redundant scene items)
| void clGeomServ::AddPlane | ( | clVertexAttribs * | VA, |
| float | SizeX, | ||
| float | SizeY, | ||
| int | SegmentsX, | ||
| int | SegmentsY, | ||
| float | Z | ||
| ) | [static] |
| void clGeomServ::AddSphere | ( | clVertexAttribs * | VA, |
| float | Radius, | ||
| LVector3 | Center, | ||
| int | TessLevel | ||
| ) | [static] |
| void clGeomServ::AddTube | ( | clVertexAttribs * | VA, |
| int | Segments, | ||
| LVector3 | Center, | ||
| LVector3 | Direction, | ||
| float | Radius, | ||
| bool | Cone | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateAxisAlignedBox | ( | const LVector3 & | Min, |
| const LVector3 & | Max, | ||
| bool | Generate3DCoords | ||
| ) | [static] |
Generate AABB using AddAxisAlignedBox()
| clVertexAttribs * clGeomServ::CreateBevelRect2D | ( | float | X1, |
| float | Y1, | ||
| float | X2, | ||
| float | Y2, | ||
| float | Z, | ||
| float | Radius | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateGear | ( | float | BaseRadius, |
| float | RootRadius, | ||
| float | OuterRadius, | ||
| float | Width, | ||
| int | NumberOfTeeth, | ||
| int | InvoluteSteps | ||
| ) | [static] |
build an involute gear
| clVertexAttribs * clGeomServ::CreateIcosahedron | ( | float | Radius, |
| LVector3 | Center | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateISOGear | ( | float | Module, |
| int | NumberOfTeeth, | ||
| float | ProfileShift, | ||
| float | Width | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreatePlane | ( | float | SizeX, |
| float | SizeY, | ||
| int | SegmentsX, | ||
| int | SegmentsY, | ||
| float | Z | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateRect2D | ( | float | X1, |
| float | Y1, | ||
| float | X2, | ||
| float | Y2, | ||
| float | Z, | ||
| bool | FlipTexCoordsVertical, | ||
| int | Subdivide | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateSkeletonPose | ( | clJointsSet * | Joints, |
| float | BaseBoneRadius, | ||
| float | JointRadius | ||
| ) | [static] |
Visual representation of a single pose.
| clVertexAttribs * clGeomServ::CreateSkyDome | ( | float | Radius, |
| float | dTheta, | ||
| float | dPhi, | ||
| float | VCoef, | ||
| LVector3 | Center | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateSphere | ( | float | Radius, |
| LVector3 | Center, | ||
| int | TessLevel | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateTetrahedron | ( | float | Radius, |
| LVector3 | Center | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateTriangle2D | ( | float | vX, |
| float | vY, | ||
| float | dX, | ||
| float | dY, | ||
| float | Z | ||
| ) | [static] |
| clVertexAttribs * clGeomServ::CreateTube | ( | int | Segments, |
| LVector3 | Base, | ||
| LVector3 | Direction, | ||
| float | Radius, | ||
| bool | Cone | ||
| ) | [static] |
Build a cylinder
| Segments | - number of subdivision of the base circle |
| Base | - the "origin" vector |
| Direction | - direction (and length) of the tube |
| Cone | - if this param is true, then the upper circle is collapsed to point |
| void clGeomServ::SplitTriangles | ( | size_t | NumTriangles, |
| int | Indices[], | ||
| const LVector3 | Vertices[], | ||
| std::vector< int > * | OutIndices, | ||
| std::vector< LVector3 > * | OutVertices | ||
| ) | [static] |