AnimatLab  2
Test
VortexAnimatSim/OsgGeometry.h
1 
2 #pragma once
3 
4 namespace VortexAnimatSim
5 {
6  namespace Environment
7  {
8  void VORTEX_PORT ApplyVertexTransform(osg::Node *node, osg::Matrix omat);
9  bool VORTEX_PORT OsgMatricesEqual(osg::Matrix v1, osg::Matrix v2);
10  osg::Quat VORTEX_PORT EulerToQuaternion(float fX, float fY, float fZ);
11  CStdFPoint VORTEX_PORT QuaterionToEuler(osg::Quat vQuat);
12  osg::Matrix VORTEX_PORT SetupMatrix(CStdFPoint &localPos, CStdFPoint &localRot);
13  osg::Matrix VORTEX_PORT SetupMatrix(CStdFPoint &localPos, osg::Quat qRot);
14  osg::Matrix VORTEX_PORT LoadMatrix(CStdXml &oXml, std::string strElementName);
15  std::string VORTEX_PORT SaveMatrixString(osg::Matrix osgMT);
16  void VORTEX_PORT SaveMatrix(CStdXml &oXml, std::string strElementName, osg::Matrix osgMT);
17  void VORTEX_PORT SetNodeColor(osg::Node *osgNode, CStdColor &vAmbient, CStdColor &vDiffuse, CStdColor &vSpecular, float fltShininess);
18  void VORTEX_PORT AddNodeTexture(osg::Node *osgNode, std::string strTexture, osg::StateAttribute::GLMode eTextureMode);
19  osg::Geometry VORTEX_PORT *CreateBoxGeometry(float xsize, float ysize, float zsize, float fltXSegWidth, float fltYSegWidth, float fltZSegWidth);
20  osg::Geometry VORTEX_PORT *CreateConeGeometry(float height, float topradius, float botradius, int sides, bool doSide, bool doTop, bool doBottom);
21  osg::Geometry VORTEX_PORT *CreateSphereGeometry(int latres, int longres, float radius);
22  osg::Geometry VORTEX_PORT *CreateEllipsoidGeometry(int latres, int longres, float rSemiMajorAxis, float rSemiMinorAxis);
23  osg::Geometry VORTEX_PORT *CreatePlaneGeometry(float fltCornerX, float fltCornerY, float fltXSize, float fltYSize, float fltXGrid, float fltYGrid, bool bBothSides);
24  osg::MatrixTransform VORTEX_PORT *CreateLinearAxis(float fltGripScale, CStdFPoint vRotAxis);
25  osg::Geode VORTEX_PORT *CreateCircle( int plane, int approx, float radius, float width );
26  osg::Vec3Array VORTEX_PORT *CreateCircleVerts( int plane, int approx, float radius );
27  osg::Geometry VORTEX_PORT *CreateTorusGeometry(float innerRadius, float outerRadius, int sides, int rings);
28  osg::Node VORTEX_PORT *CreateHeightField(std::string heightFile, float fltSegWidth, float fltSegLength, float fltMaxHeight, osg::HeightField **osgMap);
29  Vx::VxHeightField VORTEX_PORT *CreateVxHeightField(osg::HeightField *osgHeightField, float fltSegWidth, float fltSegLength, float fltBaseHeight, float fltXCenter, float fltYCenter);
30  osg::Geometry VORTEX_PORT *CreateOsgFromVxConvexMesh(Vx::VxConvexMesh *vxGeometry);
31 
32  } // Environment
33 } //VortexAnimatSim
34 
35 
osg::Geometry * CreateConeGeometry(float height, float topradius, float botradius, int sides, bool doSide, bool doTop, bool doBottom)
osg::Geometry * CreateSphereGeometry(int latres, int longres, float radius)
Classes for implementing the cm-labs vortex physics engine for AnimatLab.
osg::Geometry * CreateEllipsoidGeometry(int latres, int longres, float rSemiMajorAxis, float rSemiMinorAxis)