Public Types |
| enum | PatchSurfaceType { PST_BEZIER
} |
| enum | { AUTO_LEVEL = -1
} |
| | Constant for indicating automatic determination of subdivision level for patches. More...
|
| enum | VisibleSide { VS_FRONT,
VS_BACK,
VS_BOTH
} |
Public Methods |
| | PatchSurface () |
| | ~PatchSurface () |
| void | defineSurface (String meshName, const GeometryData &controlPoints, int width, PatchSurfaceType pType=PST_BEZIER, int subdivisionLevel=AUTO_LEVEL, VisibleSide visibleSide=VS_FRONT) |
| | Sets up the surface by defining it's control points, type and initial subdivision level. More...
|
| void | build (void) |
| | Tells the system to build the mesh relating to the surface. More...
|
| void | setSubdivisionLevel (int level=AUTO_LEVEL) |
| | Alters the level of subdivision for this surface. More...
|
| Mesh * | getMesh (void) |
| | Retrieves a pointer to the mesh which has been built for this surface. More...
|
Protected Methods |
| int | findLevel (Vector3 &a, Vector3 &b, Vector3 &c) |
| | Internal method for finding the subdivision level given 3 control points. More...
|
| void | allocateMemory (void) |
| void | deallocateMemory (void) |
| void | distributeControlPoints (void) |
| void | subdivideCurve (int startIdx, int stepSize, int numSteps, int iterations) |
| void | interpolateVertexData (int leftIndex, int rightIndex, int destIndex) |
| void | makeTriangles (void) |
Protected Attributes |
| String | mMeshName |
| | MeshManager registered name. More...
|
| GeometryData | mCtlPointData |
| | Control points. More...
|
| Mesh * | mMesh |
| | The mesh. More...
|
| bool | mNeedsBuild |
| | Flag indicating build required. More...
|
| PatchSurfaceType | mType |
| | Type of surface. More...
|
| int | mCtlWidth |
| | Width in control points. More...
|
| int | mCtlHeight |
| | Height in control points. More...
|
| int | mULevel |
| | U-direction subdivision level. More...
|
| int | mVLevel |
| | V-direction subdivision level. More...
|
| int | mMeshWidth |
| | Width of the subdivided mesh. More...
|
| int | mMeshHeight |
| | Height of the subdivided mesh. More...
|
| VisibleSide | mVSide |
| | Which side is visible. More...
|
| bool | mSharedVertexData |
| bool | mMemoryAllocated |
| std::vector< Vector3 > | mVecCtlPoints |
| int | mBufPosStep |
| int | mBufNormStep |
| int | mBufColourStep |
| int | mBufTexCoordStep [OGRE_MAX_TEXTURE_COORD_SETS] |
a Bezier patch.