This is the documentation for Enlighten.
class Enlighten MergeGeometry
class Enlighten::MergeGeometry
This is the very basic geometry description we operate on.
It's function is to provide a basic wrapper around simple arrays which is will release/delete with itself. You can construct it how you like, but there's some utils to allocate/delete arrays for you. The data is create/freeable in two halfs, geometry related stuff and tri-group/param related stuff.
Note
It intentionally doesn't handle "empty" geometry (no verts or indices or both). This case should be handled upstream.
Functions
Name | Description |
|---|---|
Free all resources. | |
Build cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
Access the cache data. | |
CalculateProjectedArea(const Geo::s32 *, Geo::s32, FitModel const &) | calculate the total projected area of the passed in groups |
Free all memory and reset the class to it's initial state. | |
Free just the vertex and index buffer data. | |
Free just the tri groups and param data. | |
Given a vector of points, this computes the least-squares plane. | |
Given a vector of points, this computes the least-squares plane. | |
Given a vector of points, this computes the least-squares plane. | |
Get a single representative normal for a triangle in a MergeGeometry. | |
Given a vector of points, this computes the least-squares plane. | |
access per group data | |
access per group data | |
access per group data | |
access per group data | |
access per group data | |
GetTriPoints(Geo::s32, Geo::GeoPoint3 &, Geo::GeoPoint3 &, Geo::GeoPoint3 &) | Utility function that is used when computing triangle shrinkage. |
Initialise the vertex and index buffers to the given sizes. | |
InitialiseTriGroupsAndParams(Geo::TriGroupSelection *, Geo::s32) | Takes ownership (not a copy) of the tri group selection and creates the trigroup and param arrays. |
Checks if the cache is valid. | |
Just nulls everything. |
Variables
Name | Description |
|---|---|
Geo::s32 * m_IdxBuffer32 | Vertex indices. Length assume to be a multiple of 3. |
Geo::GeoFileString m_Name | Name of the geometry that was used to create this MergeGeometry. |
Geo::s32 m_NumIndices | Length of m_IdxBuffer32. |
Geo::s32 m_NumParams | Length of the m_TriGroupParams array. |
Geo::s32 m_NumVertices | Length of m_Vert* arrays. |
Geo::s32 * m_ParamIdxFromGroupIdx | Maps tri group indices to param indices. Length of num tri groups. |
MergeTriGroupParams * m_TriGroupParams | Array of params for specific tri groups. |
Geo::TriGroupSelection * m_TriGroupSelection | The tri groups for this geometry. |
Geo::GeoPoint2 * m_VertChartUVs | Vertex chart UVs (provided, not generated). Length of m_NumVertices. |
Geo::v128 * m_VertNormals | Vertex normals. Length of m_NumVertices. |
Geo::v128 * m_VertPositions | Vertex positions. Length of m_NumVertices. |