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.