Static Public Member Functions | Static Private Member Functions | List of all members
URuntimeMeshSlicer Class Reference

#include <RuntimeMeshSlicer.h>

Inheritance diagram for URuntimeMeshSlicer:
Inheritance graph
[legend]

Static Public Member Functions

static void SliceRuntimeMesh (URuntimeMesh *InRuntimeMesh, FVector PlanePosition, FVector PlaneNormal, URuntimeMesh *OutOtherHalf, ERuntimeMeshSlicerCapOption CapOption, UMaterialInterface *CapMaterial)
 
static void SliceRuntimeMeshComponent (URuntimeMeshComponent *InRuntimeMesh, FVector PlanePosition, FVector PlaneNormal, bool bCreateOtherHalf, URuntimeMeshComponent *&OutOtherHalf, ERuntimeMeshSlicerCapOption CapOption, UMaterialInterface *CapMaterial)
 

Static Private Member Functions

static int32 CapMeshSlice (const FRuntimeMeshDataPtr &InRuntimeMesh, const FRuntimeMeshDataPtr &OutOtherHalf, TArray< FUtilEdge3D > &ClipEdges, const FPlane &SlicePlane, FVector PlaneNormal, ERuntimeMeshSlicerCapOption CapOption)
 
static int32 CompareBoxPlane (const FBox &InBox, const FPlane &InPlane)
 
static FRuntimeMeshAccessorVertex InterpolateVert (const FRuntimeMeshAccessorVertex &V0, const FRuntimeMeshAccessorVertex &V1, float Alpha)
 
static void SliceConvexElem (const FKConvexElem &InConvex, const FPlane &SlicePlane, TArray< FVector > &OutConvexVerts)
 
static void SliceRuntimeMeshConvexCollision (URuntimeMesh *InRuntimeMesh, URuntimeMesh *OutOtherHalf, FVector PlanePosition, FVector PlaneNormal)
 
static void SliceRuntimeMeshSection (const FRuntimeMeshDataPtr &InRuntimeMesh, const FRuntimeMeshDataPtr &OutOtherHalf, int32 SectionIndex, const FPlane &SlicePlane, TArray< FUtilEdge3D > &ClipEdges)
 
static void Transform2DPolygonTo3D (const FUtilPoly2D &InPoly, const FMatrix &InMatrix, TSharedPtr< FRuntimeMeshAccessor > OutMesh)
 
static bool TriangulatePoly (TSharedPtr< FRuntimeMeshAccessor > Mesh, int32 VertBase, const FVector &PolyNormal)
 

Detailed Description

Definition at line 31 of file RuntimeMeshSlicer.h.

Member Function Documentation

int32 URuntimeMeshSlicer::CapMeshSlice ( const FRuntimeMeshDataPtr InRuntimeMesh,
const FRuntimeMeshDataPtr OutOtherHalf,
TArray< FUtilEdge3D > &  ClipEdges,
const FPlane &  SlicePlane,
FVector  PlaneNormal,
ERuntimeMeshSlicerCapOption  CapOption 
)
staticprivate

Cap slice opening of URuntimeMesh

Definition at line 485 of file RuntimeMeshSlicer.cpp.

int32 URuntimeMeshSlicer::CompareBoxPlane ( const FBox &  InBox,
const FPlane &  InPlane 
)
staticprivate

Utility to test what side of a plane the box is on. Returns 1 if on positive side of plane Returns -1 if on negative side of plane Returns 0 if intersecting plane

Definition at line 12 of file RuntimeMeshSlicer.cpp.

FRuntimeMeshAccessorVertex URuntimeMeshSlicer::InterpolateVert ( const FRuntimeMeshAccessorVertex V0,
const FRuntimeMeshAccessorVertex V1,
float  Alpha 
)
staticprivate

Take two RuntimeMeshAccesorVertex's and interpolate all their values

Definition at line 26 of file RuntimeMeshSlicer.cpp.

void URuntimeMeshSlicer::SliceConvexElem ( const FKConvexElem &  InConvex,
const FPlane &  SlicePlane,
TArray< FVector > &  OutConvexVerts 
)
staticprivate

Util to slice a convex hull with a plane

Definition at line 179 of file RuntimeMeshSlicer.cpp.

void URuntimeMeshSlicer::SliceRuntimeMesh ( URuntimeMesh InRuntimeMesh,
FVector  PlanePosition,
FVector  PlaneNormal,
URuntimeMesh OutOtherHalf,
ERuntimeMeshSlicerCapOption  CapOption,
UMaterialInterface *  CapMaterial 
)
static

Definition at line 622 of file RuntimeMeshSlicer.cpp.

void URuntimeMeshSlicer::SliceRuntimeMeshComponent ( URuntimeMeshComponent *  InRuntimeMesh,
FVector  PlanePosition,
FVector  PlaneNormal,
bool  bCreateOtherHalf,
URuntimeMeshComponent *&  OutOtherHalf,
ERuntimeMeshSlicerCapOption  CapOption,
UMaterialInterface *  CapMaterial 
)
static

Definition at line 709 of file RuntimeMeshSlicer.cpp.

void URuntimeMeshSlicer::SliceRuntimeMeshConvexCollision ( URuntimeMesh InRuntimeMesh,
URuntimeMesh OutOtherHalf,
FVector  PlanePosition,
FVector  PlaneNormal 
)
staticprivate

Slice Convex Collision of a URuntimeMesh

Definition at line 203 of file RuntimeMeshSlicer.cpp.

void URuntimeMeshSlicer::SliceRuntimeMeshSection ( const FRuntimeMeshDataPtr InRuntimeMesh,
const FRuntimeMeshDataPtr OutOtherHalf,
int32  SectionIndex,
const FPlane &  SlicePlane,
TArray< FUtilEdge3D > &  ClipEdges 
)
staticprivate

Slice mesh data of section within URuntimeMesh

Definition at line 274 of file RuntimeMeshSlicer.cpp.

void URuntimeMeshSlicer::Transform2DPolygonTo3D ( const FUtilPoly2D &  InPoly,
const FMatrix &  InMatrix,
TSharedPtr< FRuntimeMeshAccessor OutMesh 
)
staticprivate

Transform triangle from 2D to 3D static-mesh triangle.

Definition at line 61 of file RuntimeMeshSlicer.cpp.

bool URuntimeMeshSlicer::TriangulatePoly ( TSharedPtr< FRuntimeMeshAccessor Mesh,
int32  VertBase,
const FVector &  PolyNormal 
)
staticprivate

Given a polygon, decompose into triangles.

Definition at line 88 of file RuntimeMeshSlicer.cpp.


The documentation for this class was generated from the following files:


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:33