Navigation
API > API/Plugins > API/Plugins/TetMeshing > API/Plugins/TetMeshing/Generate
Inheritance Hierarchy
- TTetMeshGenerator
- TIsosurfaceStuffing
References
| Module | TetMeshing |
| Header | /Engine/Plugins/Experimental/TetMeshing/Source/TetMeshing/Public/Generate/IsosurfaceStuffing.h |
| Include | #include "Generate/IsosurfaceStuffing.h" |
Syntax
template<typename RealType, ERootFindingMethod RootMethod>
class TIsosurfaceStuffing : public UE::Geometry::TTetMeshGenerator< RealType >
Variables
| Type | Name | Description | |
|---|---|---|---|
| UE::Math::TBox< RealType > | Bounds | Parameters for generation. | |
| RealType | CellSize | ||
| TMap< int64, FCutData > | ComputedCutPts | ||
| TMap< int64, FGridPtData > | ComputedGridPts | ||
| TFunction< RealType(TVec3)> | Implicit | Implicit is the implicit function defining the desired output shape, typically a fast winding or signed distance function It should be larger than IsoValue inside the desired shape, and smaller than IsoValue outside | |
| RealType | IsoValue | ||
| int32 | RootModeSteps | Number of steps to take when root finding. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| TVec3 | ComputeEdgeCutPos
(
TVec3 APos, |
||
| RealType | |||
| constexpr int64 | GetCornerEdgeTag
(
FIntVector3 Delta |
Delta should be 0 or 1 for each coordinate. | |
| bool | |||
| int64 | Return a unique ID for the BCC edge connecting A to B (note: assumes A,B are connected in the BCC lattice) | ||
| void | |||
| int64 | |||
| int64 | GetGridID
(
int32 X, |
||
| int64 | GetGridID
(
FIntVector3 Idx, |
||
| FGridPtData | GetGridPtData
(
const FGridPt& Pt, |
||
| constexpr int64 | GetMajorAxisEdgeTag
(
int64 Axis |
Axis should be 0, 1, or 2 for X, Y, or Z. | |
| int32 | GetOrAddCutVertex
(
const FGridPt& A, |
||
| TVec3 | GetUnwarpedGridPos
(
const FGridPt& Pt |
Get grid coordinates s.t. Cell 0,0,0's center is at the minimum corner of Bounds. | |
| int16 | ImplicitValueToLabel
(
RealType Value |
TODO: Update this for the multi-label case? | |
| RealType | LabelToImplicitValue
(
int16 Label |
TODO: Note this is incompatible with Lerp-based iso-surface finding. | |
| void | ProcessTet
(
FGridPt Pts, |
TODO: should this take the pre-fetched edge data as well? Stuff output tetrahedra into the given background tetrahedron |
Overridden from TTetMeshGenerator
| Type | Name | Description | |
|---|---|---|---|
| TIsosurfaceStuffing & | Generate () |
Subclasses implement this to generate mesh | |
| void | Reset () |
Clear arrays so that Generate() can be run again |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FCutData | |||
| FGridPt | |||
| FGridPtData |
Typedefs
| Name | Description |
|---|---|
| TVec3 |