Public Member Functions | |
| HRESULT | AddMesh (IRdMesh *spMesh, RtMatrixf &spMatrix, RtUlong dwIndex) |
| HRESULT | SetPolygonId (RtUlong dwTri, RtUlong dwNewId) |
| HRESULT | CreateDefaultTopologyGrouping () |
| HRESULT | GetNumPolygons (RtUlong *pdwNumPolygons) |
| HRESULT | GetTrianglePolygon (RtUlong dwTriangle, RtUlong *pdwPolygon) |
| HRESULT | InvertGeometry () |
| HRESULT | Intersect () |
| HRESULT | CreateComponents () |
| HRESULT | CreatePolygons () |
| HRESULT | CleanupRemovedGeometry () |
| HRESULT | GetNumComponents (RtUlong *pdwNumComponents) |
| HRESULT | GetComponentTriangleCount (RtUlong dwComponentId, RtUlong *pdwNumTriangles) |
| HRESULT | RemoveComponent (RtUlong dwComponentIndex) |
| HRESULT | GetMesh (IRdMesh **ppMesh) |
| HRESULT | CreateGeometryGroup (RtUlong *pGroupId) |
| HRESULT | AddMeshWithMaterialInfo (IRdMesh *pMesh, RtMatrixf &matrix, RtUlong ulIndex, RtMaterialIndexTranslation *pLookupTable, RtUlong dwLookupCount) |
| HRESULT | CenterAndScaleGeometry () |
| HRESULT | CenterAndScaleGeometryBack () |
| HRESULT | SetQuadMode (RtBool bQuadMode) |
| HRESULT | SetPrecision (RtFloat fPrecision) |
| HRESULT | SetKeepMaterials (RtBool bKeepMaterials) |
| HRESULT | BooleanMeshes (BSTR bszOperation) |
Add mesh to booleans algorithm.
| spMesh | [in] Mesh to add. | |
| spMatrix | [in] Mesh transform matrix. | |
| dwIndex | [in] Mesh index.
|
| HRESULT IRfBooleansSet::SetPolygonId | ( | RtUlong | dwTri, | |
| RtUlong | dwNewId | |||
| ) |
SetPolygonId
Set index of a specified polygon.
| dwTri | [in] Polygon triangle index to change polygon id. | |
| dwNewId | [in] ID to set. |
| HRESULT IRfBooleansSet::CreateDefaultTopologyGrouping | ( | ) |
CreateDefaultTopologyGrouping
Create default polygon groups depending on topology.
| HRESULT IRfBooleansSet::GetNumPolygons | ( | RtUlong * | pdwNumPolygons | ) |
GetNumPolygons
Return total number of input polygons.
| pdwNumPolygons | [out, retval] Number of polygons. |
| HRESULT IRfBooleansSet::GetTrianglePolygon | ( | RtUlong | dwTriangle, | |
| RtUlong * | pdwPolygon | |||
| ) |
GetTrianglePolygon
Get polygon index for provided triangle.
| dwTriangle | [in] Triangle for which polygon index is requested. | |
| pdwPolygon | [out, retval] Filled with polygon index. |
| HRESULT IRfBooleansSet::InvertGeometry | ( | ) |
InvertGeometry
Invert normals and trpolygon winding for whole geometry.
| HRESULT IRfBooleansSet::Intersect | ( | ) |
Intersect
Intersect geometry together.
| HRESULT IRfBooleansSet::CreateComponents | ( | ) |
CreateComponents
Create components from intersected geometry.Method intersects together all meshes added using AddMesh.
| HRESULT IRfBooleansSet::CreatePolygons | ( | ) |
CreatePolygons
Reconstruct polygon boundaries.
| HRESULT IRfBooleansSet::CleanupRemovedGeometry | ( | ) |
CleanupRemovedGeometry
Remove geometry marked for removing; update data streams.
| HRESULT IRfBooleansSet::GetNumComponents | ( | RtUlong * | pdwNumComponents | ) |
GetNumComponents
Get number of intersected components.
| pdwNumComponents | [out, retval] Filled with components count. |
| HRESULT IRfBooleansSet::GetComponentTriangleCount | ( | RtUlong | dwComponentId, | |
| RtUlong * | pdwNumTriangles | |||
| ) |
GetComponentTriangleCount
Get number of triangles for specified component.
| dwComponentId | [in] Component ID. | |
| pdwNumTriangles | [out, retval] Number of triangles within component. |
| HRESULT IRfBooleansSet::RemoveComponent | ( | RtUlong | dwComponentIndex | ) |
RemoveComponent
Mark all component triangles for removal. Physicaly remove geometry by calling CleanupRemovedGeometry after removing all components.
| dwComponentIndex | [in] Component ID to mark for removing. |
| HRESULT IRfBooleansSet::GetMesh | ( | IRdMesh ** | ppMesh | ) |
GetMesh
Create mesh.
| ppMesh | [out, retval] Filled with created mesh. |
| HRESULT IRfBooleansSet::CreateGeometryGroup | ( | RtUlong * | pGroupId | ) |
CreateGeometryGroup
Create geometry group.
| pGroupId | [out, retval] Create new geometry group. |
| HRESULT IRfBooleansSet::AddMeshWithMaterialInfo | ( | IRdMesh * | pMesh, | |
| RtMatrixf & | matrix, | |||
| RtUlong | ulIndex, | |||
| RtMaterialIndexTranslation * | pLookupTable, | |||
| RtUlong | dwLookupCount | |||
| ) |
AddMeshWithMaterialInfo
Adds mesh with material lookup table. pTranslations array specifies lookup table for translating mesh material indices.
| pMesh | [in] Mesh to add. | |
| matrix | [in] Mesh world transform. | |
| index | [in] Geometry group. See AddMesh for more info. | |
| pTranslations | [in] Material lookup table. | |
| dwLookupCount | [in] Number of entries in lookup table. |
| HRESULT IRfBooleansSet::CenterAndScaleGeometry | ( | ) |
CenterAndScaleGeometry
Centers and scales geometry to improve float point calculations.
| HRESULT IRfBooleansSet::CenterAndScaleGeometryBack | ( | ) |
CenterAndScaleGeometryBack
Performs inverse scaling of geometry after operation.
| HRESULT IRfBooleansSet::SetQuadMode | ( | RtBool | bQuadMode | ) |
SetQuadMode
Sets the status of quad mode.
| bQuadMode | [in] Set to true to enable quat mode |
| HRESULT IRfBooleansSet::SetPrecision | ( | RtFloat | fPrecision | ) |
SetPrecision
| fPrecision | [in] Set snapping distance. |
| HRESULT IRfBooleansSet::SetKeepMaterials | ( | RtBool | bKeepMaterials | ) |
SetKeepMaterials
| bKeepMaterials | [in] Set to true if 2nd mesh materials should be kept or extracted from 1st mesh |
| HRESULT IRfBooleansSet::BooleanMeshes | ( | BSTR | bszOperation | ) |
BooleanMeshes
Intersect and filter meshes with specified operation.
To union 2 meshes, proceed as follows:
spBoolSet->SetPrecision(fPrecision); spBoolSet->SetKeepMaterials(bKeepMat); spBoolSet->SetQuadMode(bQuadMode); spBoolSet->AddMesh(spMesh1, matrix1, CreateGeometryGroup()); spBoolSet->AddMesh(spMesh2, matrix2, CreateGeometryGroup()); spBoolSet->BooleanMeshes(L"Union"); spBoolSet->GetMesh(&spResult);
| bszOperation | [in] Union, Intersection, Subtraction, Cut, Merge, Add |
1.5.5