TDynamicPointSet3

[TDynamicPointSet3](API\Plugins\DynamicMesh\TDynamicPointSet3) implements a dynamic 3D point set, templated on real-value type (float or double).

Windows
MacOS
Linux

References

Module

DynamicMesh

Header

/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/DynamicPointSet3.h

Include

#include "DynamicPointSet3.h"

Syntax

template<typename RealType>
class TDynamicPointSet3

Remarks

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.

Variables

Name Description

Protected variable

TDynamicAttribu...

 

BaseAttributeSet

Base attribute set

Protected variable

int

 

Timestamp

The timestamp is incremented any time a function that modifies the point set is called

Protected variable

FRefCountVector

 

VertexRefCounts

Reference counts of vertex indices. Iterate over this to find out which vertex indices are valid.

Protected variable

TDynamicVector<...

 

Vertices

List of vertex positions

Functions

Name Description

Public function

int

 

AppendVertex

(
    const FVector3< RealType >& Positi...
)

Append vertex at position, returns vid

Public function

void

 

BeginUnsafeVerticesInsert()

Call this before a set of unsafe InsertVertex() calls

Public function

void

 

Clear()

ConstructionDiscard all data

Public function Const

RealType

 

CompactMetric()

Returns measure of compactness in range [0,1], where 1 is fully compacted

Public function

void

 

EndUnsafeVerticesInsert()

Call after a set of unsafe InsertVertex() calls to rebuild free list

Public function Const

TDynamicAttr...

 

GetBaseAttributeSet()

Public function Const

TAxisAligned...

 

GetBounds()

Geometric queriesReturns bounding box of all points

Public function Const

int

 

GetTimestamp()

Timestamp is incremented any time any change is made to the point set

Public function Const

FVector3< Re...

 

GetVertex

(
    int VertexID
)

Get/set

Public function

const TDynam...

 

GetVerticesBuffer()

Direct buffer access (not a good idea to use)

Public function

const FRefCo...

 

GetVerticesRefCounts()

Public function

EMeshResult

 

InsertVertex

(
    int VertexID,
    const FVector3< RealType >& Positi...,
    bool bUnsafe
)

Insert vertex at given index, assuming it is unused.

Public function Const

bool

 

IsCompact()

Public function Const

bool

 

IsVertex

(
    int VertexID
)

Public function Const

int

 

MaxVertexID()

Public function

EMeshResult

 

RemoveVertex

(
    int VertexID
)

Edit operationsRemove point

Public function

void

 

SetExternallyManagedAttributes

Attribute Set Support.

Public function

void

 

SetVertex

(
    int VertexID,
    const FVector3< RealType >& vNewPo...
)

Set vertex position

Protected function

void

 

UpdateTimeStamp()

Public function Const

int

 

VertexCount()

Indices

Public function Const

FRefCountVec...

 

VertexIndicesItr()

Iterators

Public function Const

FRefCountVec...

 

VerticesItr()

Enumerate positions of all points

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss