PxTriangleMeshPoissonSampler#
Defined in include/extensions/PxSamplingExt.h
-
class PxTriangleMeshPoissonSampler : public virtual PxPoissonSampler#
Sampler to generate Poisson Samples on a triangle mesh.
Public Functions
-
virtual const PxArray<PxI32> &getSampleTriangleIds() const = 0#
Gets the Poisson Samples’ triangle indices.
- Returns:
Returns the generated Poisson Samples’ triangle indices
-
virtual const PxArray<PxVec3> &getSampleBarycentrics() const = 0#
Gets the Poisson Samples’ barycentric coordinates.
- Returns:
Returns the generated Poisson Samples’ barycentric coordinates
-
virtual bool isPointInTriangleMesh(const PxVec3 &p) = 0#
Checks whether a point is inside the triangle mesh.
- Returns:
Returns true if the point is inside the triangle mesh
-
inline virtual ~PxTriangleMeshPoissonSampler()#
-
virtual bool setSamplingRadius(PxReal samplingRadius) = 0#
Sets the sampling radius.
- Parameters:
samplingRadius – [in] The closest distance two surface samples are allowed to have. Changing the sampling radius is a bit an expensive operation.
- Returns:
Returns true if the sampling was successful and false if there was a problem. Usually an internal overflow is the problem for very big meshes or very small sampling radii.
-
virtual void addSamples(const PxArray<PxVec3> &samples) = 0#
Adds samples.
- Parameters:
samples – [in] The samples to add. Adding samples is a bit an expensive operation.
-
virtual PxU32 removeSamples(const PxArray<PxVec3> &samples) = 0#
Adds samples.
- Parameters:
samples – [in] The samples to remove. Removing samples is a bit an expensive operation.
- Returns:
Returns the number of removed samples. If some samples were not found, then the number of actually removed samples will be smaller than the number of samples requested to remove
- virtual void addSamplesInSphere( ) = 0#
Adds new Poisson Samples inside the sphere specified.
- Parameters:
sphereCenter – [in] The sphere’s center. Used to define the region where new samples get added.
sphereRadius – [in] The sphere’s radius. Used to define the region where new samples get added.
createVolumeSamples – [in] If set to true, samples will also get generated inside of the mesh, not just on its surface.
- virtual void addSamplesInBox( ) = 0#
Adds new Poisson Samples inside the box specified.
- Parameters:
axisAlignedBox – [in] The axis aligned bounding box. Used to define the region where new samples get added.
boxOrientation – [in] The orientation making an oriented bounding box out of the axis aligned one. Used to define the region where new samples get added.
createVolumeSamples – [in] If set to true, samples will also get generated inside of the mesh, not just on its surface.
-
virtual const PxArray<PxVec3> &getSamples() const = 0#
Gets the Poisson Samples.
- Returns:
Returns the generated Poisson Samples
-
inline void *operator new(size_t, void *address)#
-
template<typename Alloc>
inline void *operator new( - size_t size,
- Alloc alloc,
- const char *fileName,
- int line,
-
template<typename Alloc>
inline void *operator new( - size_t size,
- size_t,
- Alloc alloc,
- const char *fileName,
- int line,
-
inline void operator delete(void*, void*)#
-
template<typename Alloc>
inline void operator delete( - void *ptr,
- Alloc alloc,
- const char *fileName,
- int line,
-
inline void operator delete(void *ptr)#
-
template<typename Alloc>
inline void *operator new[]( - size_t size,
- Alloc alloc,
- const char *fileName,
- int line,
-
template<typename Alloc>
inline void *operator new[]( - size_t size,
- size_t,
- Alloc alloc,
- const char *fileName,
- int line,
-
template<typename Alloc>
inline void operator delete[]( - void *ptr,
- Alloc alloc,
- const char *fileName,
- int line,
-
inline void operator delete[](void *ptr)#
-
virtual const PxArray<PxI32> &getSampleTriangleIds() const = 0#