Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/DynamicPointSet3.h |
Include |
#include "DynamicPointSet3.h" |
template<typename RealType>
class TDynamicPointSet3
TDynamicPointSet3 implements a dynamic 3D point set, templated on real-value type (float or double). The points are indexed and the class allows for gaps in the index space.
The points are referred to as "Vertices" for consistency with higher-level Mesh and Graph classes. This class can be used interchangeably with the Vertices of those classes in some cases (for example in spatial data structures like TDynamicVerticesOctree3)
The point data is stored in via TDynamicVector<RealType>, which internally uses chunked storage and so is relatively efficient to grow/shrink/etc
Reference counts for the points are stored via a FRefCountVector instance
A per-point attribute set can optionally be attached. Currently the client is responsible for managing the memory for this attribute set. The attribute set will be automatically updated when points are added or removed.
Name | Description | ||
---|---|---|---|
|
BaseAttributeSet |
Base attribute set |
|
|
int |
Timestamp |
The timestamp is incremented any time a function that modifies the point set is called |
|
VertexRefCounts |
Reference counts of vertex indices. Iterate over this to find out which vertex indices are valid. |
|
|
TDynamicVector<... |
Vertices |
List of vertex positions |
Name | Description | ||
---|---|---|---|
|
int |
AppendVertex ( |
Append vertex at position, returns vid |
|
BeginUnsafeVerticesInsert() |
Call this before a set of unsafe InsertVertex() calls |
|
|
Clear() |
ConstructionDiscard all data |
|
|
RealType |
CompactMetric() |
Returns measure of compactness in range [0,1], where 1 is fully compacted |
|
EndUnsafeVerticesInsert() |
Call after a set of unsafe InsertVertex() calls to rebuild free list |
|
|
TDynamicAttr... |
GetBaseAttributeSet() |
|
|
TAxisAligned... |
GetBounds() |
Geometric queriesReturns bounding box of all points |
|
int |
GetTimestamp() |
Timestamp is incremented any time any change is made to the point set |
|
FVector3< Re... |
GetVertex ( |
Get/set |
|
const TDynam... |
GetVerticesBuffer() |
Direct buffer access (not a good idea to use) |
|
const FRefCo... |
GetVerticesRefCounts() |
|
|
InsertVertex |
Insert vertex at given index, assuming it is unused. |
|
|
IsCompact() |
||
|
IsVertex ( |
||
|
int |
MaxVertexID() |
|
|
RemoveVertex ( |
Edit operationsRemove point |
|
|
SetExternallyManagedAttributes |
Attribute Set Support. |
|
|
SetVertex ( |
Set vertex position |
|
|
UpdateTimeStamp() |
||
|
int |
VertexCount() |
Indices |
|
FRefCountVec... |
VertexIndicesItr() |
Iterators |
|
FRefCountVec... |
VerticesItr() |
Enumerate positions of all points |