HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap Class Reference

This map is composed of three steps. First it will take a box of size (Lx X Ly X Lz) defined by a member data bounding box and map it into a frustum with near plane (1 X Ly/Lx) and prescribed depth Then this frustum is transformed by an internal second map: most often a uniform scale, but other effects can be achieved by accumulating translation, shear and rotation: these are all applied to the second map. More...

#include <Maps.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap:

Public Types

using Ptr = SharedPtr< NonlinearFrustumMap >
 
using ConstPtr = SharedPtr< const NonlinearFrustumMap >
 
- Public Types inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
using Ptr = SharedPtr< MapBase >
 
using ConstPtr = SharedPtr< const MapBase >
 
using MapFactory ) = Ptr(*)(
 

Public Member Functions

 NonlinearFrustumMap ()
 
 NonlinearFrustumMap (const BBoxd &bb, double taper, double depth)
 Constructor that takes an index-space bounding box to be mapped into a frustum with a given depth and taper (defined as ratio of nearplane/farplane). More...
 
 NonlinearFrustumMap (const BBoxd &bb, double taper, double depth, const MapBase::Ptr &secondMap)
 Constructor that takes an index-space bounding box to be mapped into a frustum with a given depth and taper (defined as ratio of nearplane/farplane). More...
 
 NonlinearFrustumMap (const NonlinearFrustumMap &other)
 
 NonlinearFrustumMap (const Vec3d &position, const Vec3d &direction, const Vec3d &up, double aspect, double z_near, double depth, Coord::ValueType x_count, Coord::ValueType z_count)
 Constructor from a camera frustum. More...
 
 ~NonlinearFrustumMap () override=default
 
MapBase::Ptr copy () const override
 Return a MapBase::Ptr to a deep copy of this map. More...
 
MapBase::Ptr inverseMap () const override
 Not implemented, since there is currently no map type that can represent the inverse of a frustum. More...
 
Name type () const override
 Return NonlinearFrustumMap. More...
 
bool isLinear () const override
 Return false (a NonlinearFrustumMap is never linear). More...
 
bool hasUniformScale () const override
 Return false (by convention false) More...
 
bool isIdentity () const
 Return true if the map is equivalent to an identity. More...
 
bool isEqual (const MapBase &other) const override
 Return true if this map is equal to the given map. More...
 
bool operator== (const NonlinearFrustumMap &other) const
 
bool operator!= (const NonlinearFrustumMap &other) const
 
Vec3d applyMap (const Vec3d &in) const override
 Return the image of in under the map. More...
 
Vec3d applyInverseMap (const Vec3d &in) const override
 Return the pre-image of in under the map. More...
 
Vec3d applyJacobian (const Vec3d &in) const override
 Return the Jacobian of the linear second map applied to in. More...
 
Vec3d applyJacobian (const Vec3d &in, const Vec3d &isloc) const override
 Return the Jacobian defined at isloc applied to in. More...
 
Vec3d applyInverseJacobian (const Vec3d &in) const override
 Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation) More...
 
Vec3d applyInverseJacobian (const Vec3d &in, const Vec3d &isloc) const override
 Return the Inverse Jacobian defined at isloc of the map applied to in. More...
 
Vec3d applyJT (const Vec3d &in, const Vec3d &isloc) const override
 Return the Jacobian Transpose of the map applied to vector in at indexloc. More...
 
Vec3d applyJT (const Vec3d &in) const override
 Return the Jacobian Transpose of the second map applied to in. More...
 
Vec3d applyIJT (const Vec3d &in) const override
 Return the transpose of the inverse Jacobian of the linear second map applied to in. More...
 
Vec3d applyIJT (const Vec3d &d1_is, const Vec3d &ijk) const override
 
Mat3d applyIJC (const Mat3d &in) const override
 Return the Jacobian Curvature for the linear second map. More...
 
Mat3d applyIJC (const Mat3d &d2_is, const Vec3d &d1_is, const Vec3d &ijk) const override
 
double determinant () const override
 Return the determinant of the Jacobian of linear second map. More...
 
double determinant (const Vec3d &loc) const override
 
Vec3d voxelSize () const override
 Return the size of a voxel at the center of the near plane. More...
 
Vec3d voxelSize (const Vec3d &loc) const override
 Returns the lengths of the images of the three segments from loc to loc + (1,0,0), from loc to loc + (0,1,0) and from loc to loc + (0,0,1) More...
 
AffineMap::Ptr getAffineMap () const override
 
void setTaper (double t)
 set the taper value, the ratio of nearplane width / far plane width More...
 
double getTaper () const
 Return the taper value. More...
 
void setDepth (double d)
 set the frustum depth: distance between near and far plane = frustm depth * frustm x-width More...
 
double getDepth () const
 Return the unscaled frustm depth. More...
 
double getGamma () const
 
const BBoxdgetBBox () const
 Return the bounding box that defines the frustum in pre-image space. More...
 
const AffineMapsecondMap () const
 Return MapBase::Ptr& to the second map. More...
 
bool isValid () const
 
bool hasSimpleAffine () const
 Return true if the second map is a uniform scale, Rotation and translation. More...
 
void read (std::istream &is) override
 read serialization More...
 
void write (std::ostream &os) const override
 write serialization More...
 
std::string str () const override
 string serialization, useful for debuging More...
 
MapBase::Ptr preRotate (double radians, Axis axis=X_AXIS) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given rotation to the linear part of this map. More...
 
MapBase::Ptr preTranslate (const Vec3d &t) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given translation to the linear part of this map. More...
 
MapBase::Ptr preScale (const Vec3d &s) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given scale to the linear part of this map. More...
 
MapBase::Ptr preShear (double shear, Axis axis0, Axis axis1) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given shear to the linear part of this map. More...
 
MapBase::Ptr postRotate (double radians, Axis axis=X_AXIS) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given rotation to the linear part of this map. More...
 
MapBase::Ptr postTranslate (const Vec3d &t) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given translation to the linear part of this map. More...
 
MapBase::Ptr postScale (const Vec3d &s) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given scale to the linear part of this map. More...
 
MapBase::Ptr postShear (double shear, Axis axis0, Axis axis1) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given shear to the linear part of this map. More...
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
 MapBase (const MapBase &)=default
 
virtual ~MapBase ()=default
 
template<typename MapT >
bool isType () const
 Return true if this map is of concrete type MapT (e.g., AffineMap). More...
 

Static Public Member Functions

static MapBase::Ptr create ()
 Return a MapBase::Ptr to a new NonlinearFrustumMap. More...
 
static bool isRegistered ()
 
static void registerMap ()
 
static Name mapType ()
 Return NonlinearFrustumMap. More...
 

Additional Inherited Members

- Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
 MapBase ()
 
- Static Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
template<typename MapT >
static bool isEqualBase (const MapT &self, const MapBase &other)
 

Detailed Description

This map is composed of three steps. First it will take a box of size (Lx X Ly X Lz) defined by a member data bounding box and map it into a frustum with near plane (1 X Ly/Lx) and prescribed depth Then this frustum is transformed by an internal second map: most often a uniform scale, but other effects can be achieved by accumulating translation, shear and rotation: these are all applied to the second map.

Definition at line 1905 of file Maps.h.

Member Typedef Documentation

Constructor & Destructor Documentation

openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::NonlinearFrustumMap ( )
inline

Definition at line 1911 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::NonlinearFrustumMap ( const BBoxd bb,
double  taper,
double  depth 
)
inline

Constructor that takes an index-space bounding box to be mapped into a frustum with a given depth and taper (defined as ratio of nearplane/farplane).

Definition at line 1923 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::NonlinearFrustumMap ( const BBoxd bb,
double  taper,
double  depth,
const MapBase::Ptr secondMap 
)
inline

Constructor that takes an index-space bounding box to be mapped into a frustum with a given depth and taper (defined as ratio of nearplane/farplane).

This frustum is further modifed by the secondMap, intended to be a simple translation and rotation and uniform scale

Definition at line 1934 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::NonlinearFrustumMap ( const NonlinearFrustumMap other)
inline

Definition at line 1946 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::NonlinearFrustumMap ( const Vec3d position,
const Vec3d direction,
const Vec3d up,
double  aspect,
double  z_near,
double  depth,
Coord::ValueType  x_count,
Coord::ValueType  z_count 
)
inline

Constructor from a camera frustum.

Parameters
positionthe tip of the frustum (i.e., the camera's position).
directiona vector pointing from position toward the near plane.
upa non-unit vector describing the direction and extent of the frustum's intersection on the near plane. Together, up must be orthogonal to direction.
aspectthe aspect ratio of the frustum intersection with near plane defined as width / height
z_near,depththe distance from position along direction to the near and far planes of the frustum.
x_countthe number of voxels, aligned with left, across the face of the frustum
z_countthe number of voxels, aligned with direction, between the near and far planes
Todo:
check that depth > 0
Todo:
check up.length > 0
Todo:
check that direction dot up = 0

Definition at line 1972 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::~NonlinearFrustumMap ( )
overridedefault

Member Function Documentation

Mat3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyIJC ( const Mat3d in) const
inlineoverridevirtual

Return the Jacobian Curvature for the linear second map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2253 of file Maps.h.

Mat3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyIJC ( const Mat3d d2_is,
const Vec3d d1_is,
const Vec3d ijk 
) const
inlineoverridevirtual

Return the Jacobian Curvature: all the second derivatives in range space

Parameters
d2_issecond derivative matrix computed in index space
d1_isgradient computed in index space
ijkthe index space location where the result is computed

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2258 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyIJT ( const Vec3d in) const
inlineoverridevirtual

Return the transpose of the inverse Jacobian of the linear second map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2207 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyIJT ( const Vec3d d1_is,
const Vec3d ijk 
) const
inlineoverridevirtual

Return the transpose of the inverse Jacobain (at locW applied to in. ijk is the location in the pre-image space (e.g. index space)

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2217 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyInverseJacobian ( const Vec3d in) const
inlineoverridevirtual

Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation)

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2149 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyInverseJacobian ( const Vec3d in,
const Vec3d isloc 
) const
inlineoverridevirtual

Return the Inverse Jacobian defined at isloc of the map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2153 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyInverseMap ( const Vec3d in) const
inlineoverridevirtual

Return the pre-image of in under the map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2117 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyJacobian ( const Vec3d in) const
inlineoverridevirtual

Return the Jacobian of the linear second map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2122 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyJacobian ( const Vec3d in,
const Vec3d isloc 
) const
inlineoverridevirtual

Return the Jacobian defined at isloc applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2124 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyJT ( const Vec3d in,
const Vec3d isloc 
) const
inlineoverridevirtual

Return the Jacobian Transpose of the map applied to vector in at indexloc.

This tranforms range-space gradients to domain-space gradients.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2180 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyJT ( const Vec3d in) const
inlineoverridevirtual

Return the Jacobian Transpose of the second map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2202 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::applyMap ( const Vec3d in) const
inlineoverridevirtual

Return the image of in under the map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2111 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::copy ( void  ) const
inlineoverridevirtual

Return a MapBase::Ptr to a deep copy of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2035 of file Maps.h.

static MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::create ( )
inlinestatic

Return a MapBase::Ptr to a new NonlinearFrustumMap.

Definition at line 2033 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::determinant ( ) const
inlineoverridevirtual

Return the determinant of the Jacobian of linear second map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2328 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::determinant ( const Vec3d loc) const
inlineoverridevirtual

Return the determinate of the Jacobian evaluated at loc loc is a location in the pre-image space (e.g., index space)

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2332 of file Maps.h.

AffineMap::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::getAffineMap ( ) const
inlineoverridevirtual

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2363 of file Maps.h.

const BBoxd& openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::getBBox ( ) const
inline

Return the bounding box that defines the frustum in pre-image space.

Definition at line 2377 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::getDepth ( ) const
inline

Return the unscaled frustm depth.

Definition at line 2372 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::getGamma ( ) const
inline

Definition at line 2374 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::getTaper ( void  ) const
inline

Return the taper value.

Definition at line 2368 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::hasSimpleAffine ( ) const
inline

Return true if the second map is a uniform scale, Rotation and translation.

Definition at line 2386 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::hasUniformScale ( ) const
inlineoverridevirtual

Return false (by convention false)

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2062 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::inverseMap ( ) const
inlineoverridevirtual

Not implemented, since there is currently no map type that can represent the inverse of a frustum.

Exceptions
NotImplementedError

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2040 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::isEqual ( const MapBase other) const
inlineoverridevirtual

Return true if this map is equal to the given map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2084 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::isIdentity ( ) const
inline

Return true if the map is equivalent to an identity.

Definition at line 2065 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::isLinear ( ) const
inlineoverridevirtual

Return false (a NonlinearFrustumMap is never linear).

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2059 of file Maps.h.

static bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::isRegistered ( )
inlinestatic

Definition at line 2045 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::isValid ( void  ) const
inline

Return true if the the bounding box in index space that defines the region that is maped into the frustum is non-zero, otherwise false

Definition at line 2383 of file Maps.h.

static Name openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::mapType ( )
inlinestatic

Return NonlinearFrustumMap.

Definition at line 2056 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::operator== ( const NonlinearFrustumMap other) const
inline

check spanning vectors

Definition at line 2086 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::postRotate ( double  radians,
Axis  axis = X_AXIS 
) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of appending the given rotation to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2471 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::postScale ( const Vec3d s) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of appending the given scale to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2485 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::postShear ( double  shear,
Axis  axis0,
Axis  axis1 
) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of appending the given shear to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2492 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::postTranslate ( const Vec3d t) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of appending the given translation to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2478 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::preRotate ( double  radians,
Axis  axis = X_AXIS 
) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of prepending the given rotation to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2442 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::preScale ( const Vec3d s) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of prepending the given scale to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2456 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::preShear ( double  shear,
Axis  axis0,
Axis  axis1 
) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of prepending the given shear to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2463 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::preTranslate ( const Vec3d t) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of prepending the given translation to the linear part of this map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2449 of file Maps.h.

void openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::read ( std::istream &  is)
inlineoverridevirtual

read serialization

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2389 of file Maps.h.

static void openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::registerMap ( )
inlinestatic

Definition at line 2047 of file Maps.h.

const AffineMap& openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::secondMap ( ) const
inline

Return MapBase::Ptr& to the second map.

Definition at line 2380 of file Maps.h.

void openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::setDepth ( double  d)
inline

set the frustum depth: distance between near and far plane = frustm depth * frustm x-width

Definition at line 2370 of file Maps.h.

void openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::setTaper ( double  t)
inline

set the taper value, the ratio of nearplane width / far plane width

Definition at line 2366 of file Maps.h.

std::string openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::str ( ) const
inlineoverridevirtual

string serialization, useful for debuging

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2430 of file Maps.h.

Name openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::type ( ) const
inlineoverridevirtual

Return NonlinearFrustumMap.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2054 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::voxelSize ( ) const
inlineoverridevirtual

Return the size of a voxel at the center of the near plane.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2340 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::voxelSize ( const Vec3d loc) const
inlineoverridevirtual

Returns the lengths of the images of the three segments from loc to loc + (1,0,0), from loc to loc + (0,1,0) and from loc to loc + (0,0,1)

Parameters
loca location in the pre-image space (e.g., index space)

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2354 of file Maps.h.

void openvdb::OPENVDB_VERSION_NAME::math::NonlinearFrustumMap::write ( std::ostream &  os) const
inlineoverridevirtual

write serialization

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 2419 of file Maps.h.


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