|
vtlib library
|
Public Member Functions | |
| vtGeomFactory (vtGeode *pGeode, vtMesh::PrimType ePrimType, int iVertType, int iMaxVertsPerMesh, int iMatIndex, int iExpectedVerts=-1) | |
| vtGeomFactory (vtMesh *pMesh) | |
| void | PrimStart () |
| void | AddVertex (const FPoint3 &p) |
| void | PrimEnd () |
| float | AddSurfaceLineToMesh (vtHeightField3d *pHF, const DLine2 &line, float fSpacing, float fOffset, bool bInterp=true, bool bCurve=false, bool bTrue=false) |
The vtGeomFactory class makes it easy to create geometry with a lot of vertices. You simply provide vertices, and it will create as many geometries as necessary to contain them all.
| vtGeomFactory::vtGeomFactory | ( | vtGeode * | pGeode, |
| vtMesh::PrimType | ePrimType, | ||
| int | iVertType, | ||
| int | iMaxVertsPerMesh, | ||
| int | iMatIndex, | ||
| int | iExpectedVerts = -1 |
||
| ) |
Constructor.
| pGeode | The geometry node which will receive the mesh object(s) that this factory will produce. |
| ePrimType | The type of mesh to produce. |
| iVertType | The vertex attributes for the meshes to produce. |
| iMaxVertsPerMesh | The largest number of vertices to allow in a single mesh. When this number is exceeded, the current mesh will be finished and another mesh begun. |
| iMatIndex | The material index of the mesh when it is added to the geometry node. |
| iExpectedVerts | If you know how many vertices will be mesh ahead of time, you can save a little time and memory by passing the number. |
| vtGeomFactory::vtGeomFactory | ( | vtMesh * | pMesh | ) |
Alternate, simpler constructor.
| pMesh | The mesh which will receive all the vertices that this factory produces. |
| float vtGeomFactory::AddSurfaceLineToMesh | ( | vtHeightField3d * | pHF, |
| const DLine2 & | line, | ||
| float | fSpacing, | ||
| float | fOffset, | ||
| bool | bInterp = true, |
||
| bool | bCurve = false, |
||
| bool | bTrue = false |
||
| ) |
Create geometry for a 2D line by draping the points on a heightfield.
| pHF | The heightfield to drape on. |
| line | The 2D line to drape, in Earth coordinates. |
| fSpacing | The approximate spacing of the surface tessellation, used to decide how finely to tessellate the line. |
| fOffset | An offset to elevate each point in the resulting geometry, useful for keeping it visibly above the ground. |
| bInterp | True to interpolate between the vertices of the input line. This is generally desirable when the ground is much more finely spaced than the input line. |
| bCurve | True to interpret the vertices of the input line as control points of a curve. The created geometry will consist of a draped line which passes through the control points. |
| bTrue | True to use the true elevation of the terrain, ignoring whatever scale factor is being used to exaggerate elevation for display. |
| void vtGeomFactory::AddVertex | ( | const FPoint3 & | p | ) |
Tell the factory to add a vertex to the current primitive.
| void vtGeomFactory::PrimEnd | ( | ) |
Tell the factory to end a primitive.
| void vtGeomFactory::PrimStart | ( | ) |
Tell the factory to start a primitive.
1.8.10