Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/Operations
References
| Module | DynamicMesh |
| Header | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/MeshRegionOperator.h |
| Include | #include "Operations/MeshRegionOperator.h" |
Syntax
class FMeshRegionOperator
Remarks
This class automatically extracts a submesh from a mesh, and can re-insert it after you have edited it, as long as you have not messed up the boundary
[TODO] Should this share any code w/ RegionRemesher? [TODO] ReinsertSubToBaseMapT is not returned by the FDynamicMeshEditor.ReinsertSubmesh, instead we are trying to guess it here, by making some assumptions about what happens. It works for now, but it would better if FDynamicMeshEditor returned this information.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FDynamicMesh3 * | BaseMesh | ||
| TArray< int > | CurrentBaseTris | IDs of triangles in the base mesh that correspond to the submesh at time of last Compute or BackPropagate. | |
| FDynamicSubmesh3 | Region | ||
| FDynamicMeshEditor::EDuplicateTriBehavior | ReinsertDuplicateTriBehavior | Handle a tricky problem...see comments for EDuplicateTriBehavior enum | |
| FOptionallySparseIndexMap | ReinsertSubToBaseMapT | Note computation of this is kind of a hack right now; see TODO in class comment above. | |
| FOptionallySparseIndexMap | ReinsertSubToBaseMapV | This is only valid after BackPropagate() call!! maps submeshverts to base mesh |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FMeshRegionOperator
(
FDynamicMesh3* Base, |
|||
FMeshRegionOperator
(
FDynamicMesh3* Base, |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | BackPropropagate
(
bool bAllowSubmeshRepairs |
Remove the original submesh region and merge in the remeshed version. | |
| bool | BackPropropagateVertices
(
bool bRecomputeBoundaryNormals |
Transfer vertex positions in submesh back to base mesh; for use when the vertices in submesh still directly correspond back | |
| TSet< int > | |||
| const TArray< int > & | |||
| void | After remeshing we may create an internal edge between two boundary vertices [a,b]. | ||
| void | SetSubmeshGroupID
(
int GID |