Navigation
API > API/Plugins > API/Plugins/TetMeshing
| Name | TIsosurfaceStuffing |
| Type | class |
| Header File | /Engine/Plugins/Experimental/TetMeshing/Source/TetMeshing/Public/Generate/IsosurfaceStuffing.h |
| Include Path | #include "Generate/IsosurfaceStuffing.h" |
Syntax
template<typename RealType, ERootFindingMethod RootMethod>
class TIsosurfaceStuffing : public UE::Geometry::TTetMeshGenerator< RealType >
Inheritance Hierarchy
- TTetMeshGenerator → TIsosurfaceStuffing
Structs
| Name | Remarks |
|---|---|
| FCutData | |
| FGridPt | |
| FGridPtData |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TVec3 | UE::Math::TVector< RealType > | Generate/IsosurfaceStuffing.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Bounds | UE::Math::TBox< RealType > | Parameters for generation. | Generate/IsosurfaceStuffing.h | |
| CellSize | RealType | Generate/IsosurfaceStuffing.h | ||
| Implicit | TFunction< RealType(TVec3)> | 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 | Generate/IsosurfaceStuffing.h | |
| IsoValue | RealType | Generate/IsosurfaceStuffing.h | ||
| RootModeSteps | int32 | Number of steps to take when root finding. | Generate/IsosurfaceStuffing.h |
Functions
Public
Overridden from TTetMeshGenerator
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TIsosurfaceStuffing & Generate() |
Subclasses implement this to generate mesh | Generate/IsosurfaceStuffing.h | |
virtual void Reset() |
Clear arrays so that Generate() can be run again | Generate/IsosurfaceStuffing.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TVec3 ComputeEdgeCutPos
(
TVec3 APos, |
Generate/IsosurfaceStuffing.h | ||
| Generate/IsosurfaceStuffing.h | |||
FGridPtData GetGridPtData
(
const FGridPt& Pt, |
Generate/IsosurfaceStuffing.h | ||
| Generate/IsosurfaceStuffing.h | |||
TVec3 GetUnwarpedGridPos
(
const FGridPt& Pt |
Get grid coordinates s.t. Cell 0,0,0's center is at the minimum corner of Bounds. | Generate/IsosurfaceStuffing.h | |
int16 ImplicitValueToLabel
(
RealType Value |
TODO: Update this for the multi-label case? | Generate/IsosurfaceStuffing.h | |
RealType LabelToImplicitValue
(
int16 Label |
TODO: Note this is incompatible with Lerp-based iso-surface finding. | Generate/IsosurfaceStuffing.h | |
void ProcessTet
(
FGridPt Pts, |
TODO: should this take the pre-fetched edge data as well? Stuff output tetrahedra into the given background tetrahedron | Generate/IsosurfaceStuffing.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static RealType GetAlpha
(
const TVec3& APos, |
Generate/IsosurfaceStuffing.h | ||
static int64 GetCornerEdgeTag
(
FIntVector3 Delta |
Delta should be 0 or 1 for each coordinate. | Generate/IsosurfaceStuffing.h | |
| Return a unique ID for the BCC edge connecting A to B (note: assumes A,B are connected in the BCC lattice) | Generate/IsosurfaceStuffing.h | ||
| Generate/IsosurfaceStuffing.h | |||
| Generate/IsosurfaceStuffing.h | |||
static int64 GetGridID
(
int32 X, |
Generate/IsosurfaceStuffing.h | ||
static int64 GetGridID
(
FIntVector3 Idx, |
Generate/IsosurfaceStuffing.h | ||
static int64 GetMajorAxisEdgeTag
(
int64 Axis |
Axis should be 0, 1, or 2 for X, Y, or Z. | Generate/IsosurfaceStuffing.h |