Navigation
API > API/Plugins > API/Plugins/DynamicMesh
Note: FExtrudeMesh might someday be removed. Consider using FOffsetMeshRegion instead, which can extrude all or part of a mesh.
FExtrudeMesh implements a full-mesh extrusion of a mesh. This happens in two stages: 1) all triangles of input mesh are duplicated and offset 2) base and offset border loops are stitched together with triangulated quads Step 2 does not occur if there are no boundary loops (ie for a closed input mesh)
Each quad of the border loop is assigned it's own normal and UVs (ie each is a separate UV-island)
| Name | FExtrudeMesh |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/ExtrudeMesh.h |
| Include Path | #include "Operations/ExtrudeMesh.h" |
Syntax
class FExtrudeMesh : public UE::Geometry::FExtrudeMeshFixLayout
Inheritance Hierarchy
- FExtrudeMeshFixLayout → FExtrudeMesh
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FExtrudeMesh
(
FDynamicMesh3* mesh |
Operations/ExtrudeMesh.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FExtrudeMesh() |
Operations/ExtrudeMesh.h |
Structs
| Name | Remarks |
|---|---|
| FExtrusionInfo | Outputs FExtrusionInfo stores info about extrusion for a single mesh connected component. |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bSkipClosedComponents | bool | If true, skip closed components | Operations/ExtrudeMesh.h | |
| DefaultExtrudeDistance | double | If no Extrude function is set, we will displace by DefaultExtrudeDistance*Normal | Operations/ExtrudeMesh.h | |
| ExtrudedPositionFunc | TFunction< FVector3d(const FVector3d &, const FVector3f &, int)> | This function is called to generate the offset vertex position. | Operations/ExtrudeMesh.h | |
| Extrusions | TArray< FExtrusionInfo > | List of extrusion regions, one per connected component of input | Operations/ExtrudeMesh.h | |
| IsPositiveOffset | bool | If Extrusion is "negative" (ie negative distance, inset, etc) then this value must be set to false or the output will have incorrect winding orientation | Operations/ExtrudeMesh.h | |
| Mesh | FDynamicMesh3 * | Inputs The mesh that we are modifying | Operations/ExtrudeMesh.h | |
| UVScaleFactor | float | Quads on the stitch loop are planar-projected and scaled by this amount | Operations/ExtrudeMesh.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Apply() |
Apply the Extrude operation to the input mesh. | Operations/ExtrudeMesh.h | |
virtual EOperationValidationResult Validate() |
Operations/ExtrudeMesh.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ApplyExtrude
(
FExtrusionInfo& Region, |
Operations/ExtrudeMesh.h |