HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType > Class Template Reference

#include <PointAdvect.h>

Public Types

using GridType = GridT
 
using PointListType = PointListT
 
using LocationType = typename PointListT::value_type
 
using VelocityFieldIntegrator = VelocityIntegrator< GridT, StaggeredVelocity >
 

Public Member Functions

 PointAdvect (const GridT &velGrid, InterrupterType *interrupter=nullptr)
 
 PointAdvect (const PointAdvect &other)
 
virtual ~PointAdvect ()
 
bool earlyOut () const
 If the order of the integration is set to zero no advection is performed. More...
 
void setThreaded (bool threaded)
 get & set More...
 
bool getThreaded ()
 
void setIntegrationOrder (unsigned int order)
 
void advect (PointListT &points, float dt, unsigned int advIterations=1)
 Constrained advection of a list of points over a time = dt * advIterations. More...
 
void operator() (const tbb::blocked_range< size_t > &range) const
 Never call this method directly - it is use by TBB and has to be public! More...
 

Detailed Description

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
class openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >

Performs passive or constrained advection of points in a velocity field represented by an OpenVDB grid and an optional closest-point-transform (CPT) represented in another OpenVDB grid. Note the CPT is assumed to be in world coordinates and NOT index coordinates! Supports both collocated velocity grids and staggered velocity grids

The PointListT template argument refers to any class with the following interface (e.g., std::vector<openvdb::Vec3f>):

class PointList {
...
public:
using value_type = internal_vector3_type; // must support [] component access
openvdb::Index size() const; // number of points in list
value_type& operator[](int n); // world space position of nth point
};
Note
All methods (except size) are assumed to be thread-safe and the positions are returned as non-const references since the advection method needs to modify them!

Definition at line 115 of file PointAdvect.h.

Member Typedef Documentation

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
using openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::GridType = GridT

Definition at line 118 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
using openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::LocationType = typename PointListT::value_type

Definition at line 120 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
using openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::PointListType = PointListT

Definition at line 119 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
using openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::VelocityFieldIntegrator = VelocityIntegrator<GridT, StaggeredVelocity>

Definition at line 121 of file PointAdvect.h.

Constructor & Destructor Documentation

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::PointAdvect ( const GridT &  velGrid,
InterrupterType *  interrupter = nullptr 
)
inline

Definition at line 123 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::PointAdvect ( const PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType > &  other)
inline

Definition at line 131 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
virtual openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::~PointAdvect ( )
inlinevirtual

Definition at line 141 of file PointAdvect.h.

Member Function Documentation

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
void openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::advect ( PointListT &  points,
float  dt,
unsigned int  advIterations = 1 
)
inline

Constrained advection of a list of points over a time = dt * advIterations.

Definition at line 152 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
bool openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::earlyOut ( ) const
inline

If the order of the integration is set to zero no advection is performed.

Definition at line 145 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
bool openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::getThreaded ( )
inline

Definition at line 148 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
void openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::operator() ( const tbb::blocked_range< size_t > &  range) const
inline

Never call this method directly - it is use by TBB and has to be public!

Definition at line 169 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
void openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::setIntegrationOrder ( unsigned int  order)
inline

Definition at line 149 of file PointAdvect.h.

template<typename GridT = Vec3fGrid, typename PointListT = std::vector<typename GridT::ValueType>, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
void openvdb::OPENVDB_VERSION_NAME::tools::PointAdvect< GridT, PointListT, StaggeredVelocity, InterrupterType >::setThreaded ( bool  threaded)
inline

get & set

Definition at line 147 of file PointAdvect.h.


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