Abstract

These classes define the general behavior shared by all analytic geometries, including labels, rendering, bounds, normalized percent coordinates, and compound geometry handling.

class analyticGeometry : public dtOO::labelHandling, public dtOO::renderInterface

Abstract base class for parameterized analytic geometries.

Derived classes represent curves, surfaces, or volumes embedded in three-dimensional space. They define the parameter-space dimension and bounds and evaluate points and first derivatives in native coordinates.

Percent-coordinate helpers map each parameter from [0, 1] to its native range. Bounding boxes and their length, area, or volume measures are calculated lazily from a regular parameter-space sample grid.

Subclassed by dtOO::analyticGeometryGroup, dtOO::map1dTo3d, dtOO::map2dTo3d, dtOO::map3dTo3d, dtOO::multipleBoundedSurface, dtOO::multipleBoundedVolume

Public Functions

dtPoint3 getPointPercent(dtReal const *const uvw) const

Evaluate a point using percent coordinates.

Parameters:

uvw – One normalized coordinate per parameter direction, in [0, 1].

Returns:

Point on the geometry.

::std::vector<dtVector3> firstDerPercent(dtReal const *const uvw) const

Evaluate first derivatives using percent coordinates.

Parameters:

uvw – One normalized coordinate per parameter direction, in [0, 1].

Returns:

First derivative vector for every parameter direction.

virtual analyticGeometry *clone(void) const = 0

Create a copy of this geometry.

virtual analyticGeometry *create(void) const = 0

Create a default instance of the concrete geometry type.

virtual dtInt dim(void) const = 0

Return the parameter-space dimension (one, two, or three).

virtual bool isClosed(dtInt const &dir) const = 0

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const = 0

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const = 0

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const *const uvw) const = 0

Evaluate a point using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

Point on the geometry.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const = 0

Evaluate first derivatives using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

First derivative vector for every parameter direction.

::std::vector<dtVector3> secondDer(dtReal const *const uvw) const

Evaluate second derivatives using native parameter coordinates.

Returns:

Unique second derivatives in upper-triangular parameter order: UU, UV, …, VV, …

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

virtual bool isTransformed(void) const

Return whether this geometry represents a transformed object.

virtual bool isCompound(void) const

Return whether this geometry consists of multiple sub-geometries.

virtual vectorHandling<analyticGeometry const*> compoundInternal(void) const

Return the constituent geometries of a compound geometry.

std::pair<dtPoint3, dtPoint3> boundingBox(void) const

Return the lazily computed axis-aligned bounding box.

dtReal boundingBoxValue(void) const

Return the sampled geometric measure of the bounding-box grid.

The measure is length for curves, area for surfaces, and volume for volumes.

void updateBoundingBox(void) const

Recompute the cached bounding box and its sampled geometric measure.

dtReal characteristicLength(void) const

Return the diagonal length of the lazily computed bounding box.

std::vector<dtPoint3> cornerPoints(void) const

Return the points at all corners of the normalized parameter domain.

virtual bool reparam(dtPoint3 const &xyz, std::vector<dtReal> &uvw) const

Find native parameter coordinates for a point on the geometry.

Parameters:
  • xyz – Point to reparameterize.

  • uvw – Receives one native coordinate per parameter direction.

Returns:

True when reparameterization succeeds.

dtPoint3 getPoint(std::vector<dtReal> const &uvw) const

Evaluate a point using native coordinates supplied as a vector.

bool degenerated(void) const

Return whether the sampled geometric measure is within XYZ tolerance.

bool equal(const analyticGeometry &other) const

Compare geometries by matching their normalized parameter-domain corners.

Returns:

True if both geometries have the same dimension and equivalent corner points within XYZ tolerance.

bool equal(analyticGeometry const *const other) const

Pointer overload of equal(analyticGeometry const &).

void dump(void) const

Write the label, dynamic class name, and textual representation to the log.

void setRenderResolution(int const &dir, dtInt const &value) const

Set the rendering resolution for a parameter direction.

Parameters:
  • dir – Parameter direction: 0 (u), 1 (v), or 2 (w).

  • value – Number of rendering samples in that direction.

dtInt getRenderResolution(int const &dir) const

Return the rendering resolution for a parameter direction.

Parameters:

dir – Parameter direction: 0 (u), 1 (v), or 2 (w).

dtReal val_percent(dtReal const &per, int const &dir) const

Convert a normalized parameter coordinate to its native value.

Parameters:
  • per – Normalized coordinate in [0, 1].

  • dir – Parameter direction: 0 (u), 1 (v), or 2 (w).

dtReal percent_val(dtReal const &val, int const &dir) const

Convert a native parameter coordinate to its normalized value.

Parameters:
  • val – Native parameter coordinate.

  • dir – Parameter direction: 0 (u), 1 (v), or 2 (w).

Public Static Functions

static bool inXYZTolerance(dtPoint3 const &p0, dtPoint3 const &p1, dtReal *const dist, bool output, dtReal inc)

Compare two points using the configured XYZ tolerance.

Parameters:
  • p0 – First point.

  • p1 – Second point.

  • dist – Receives the Euclidean distance between the points.

  • output – Emit a warning when the points are outside the tolerance.

  • inc – Multiplier applied to the configured tolerance.

Returns:

True if the points are within tolerance.

static dtReal XYZTolerance(void)

Return the configured XYZ tolerance.

static bool inXYZTolerance(dtPoint3 const &p0, dtPoint3 const &p1)

Return whether two points are within the configured XYZ tolerance.

static bool inXYZTolerance(dtReal const dist, dtReal inc = 1.)

Return whether a distance is within the configured XYZ tolerance.

static bool inUVWTolerance(dtPoint3 const &p0, dtPoint3 const &p1)

Return whether two 3D parameter coordinates are within UVW tolerance.

static bool inUVWTolerance(dtPoint2 const &p0, dtPoint2 const &p1)

Return whether two 2D parameter coordinates are within UVW tolerance.

static bool inUVWTolerance(dtReal const &p0, dtReal const &p1)

Return whether two scalar parameter coordinates are within UVW tolerance.

template<typename funT>
class analyticGeometryCompound : public funT

Template compound that owns several geometry components of type funT.

Rendering is aggregated from the components, which receive this compound’s render resolution before being rendered.

Public Functions

funT const &component(dtInt const &pos) const

Return the component at pos.

funT &addComponent(funT const &toAdd)

Clone, append, and return a new component.

dtInt nComponents(void) const

Return the number of owned components.

virtual vectorHandling<renderInterface*> getRender(void) const

Aggregate render objects from all components.

vectorHandling<analyticGeometry const*> compoundInternal(void) const

Return non-owning base-class pointers to the components.

class analyticGeometryGroup : public dtOO::analyticGeometry

Non-parametric aggregate of cloned analytic geometries for combined rendering.

Public Functions

virtual analyticGeometryGroup *clone(void) const

Create a copy of this geometry.

virtual analyticGeometryGroup *create(void) const

Create a default instance of the concrete geometry type.

virtual dtInt dim(void) const

Return the parameter-space dimension (one, two, or three).

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const *const uvw) const

Evaluate a point using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

Point on the geometry.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const

Evaluate first derivatives using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

First derivative vector for every parameter direction.

virtual vectorHandling<renderInterface*> getRender(void) const

Aggregate render objects from all grouped geometries.

These classes define the curve, surface, and volume interfaces. They provide the common evaluation, derivative, parameter-bound, and reparameterization operations for their respective parameter-space dimensions.

class map1dTo3d : public dtOO::analyticGeometry

Abstract one-dimensional map embedded in three-dimensional space.

This class represents a parameterized curve p(u). Concrete implementations provide point evaluation, creation, cloning, and transformation. Native parameter values lie in [getUMin(), getUMax()], while percent variants use the normalized interval [0, 1].

The optional operations provide numerical derivatives, curve segments, arc-length conversions, rendering, and closest-point reparameterization.

Subclassed by dtOO::analyticCurve, dtOO::scaOneDInMap1dTo3d, dtOO::vec2dOneDInMap2dTo3d, dtOO::vec3dOneDInMap3dTo3d

Public Functions

virtual dtInt dim(void) const

Return the one-dimensional parameter-space dimension.

virtual dtPoint3 getPoint(dtReal const *const uvw) const

Evaluate the curve from a one-element parameter array.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const

Evaluate the first derivative from a one-element parameter array.

virtual map1dTo3d *create(void) const = 0

Create a default instance of the concrete curve type.

virtual map1dTo3d *clone(void) const = 0

Create a copy of this curve.

virtual map1dTo3d *cloneTransformed(dtTransformer const *const dtT) const = 0

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu) const = 0

Evaluate the curve at a native u coordinate.

virtual dtVector3 firstDerU(dtReal const &uu) const

Return the first derivative with respect to u.

virtual map1dTo3d *segment(dtReal const &u0, dtReal const &u1) const

Create the curve segment between two native u coordinates.

virtual dtReal l_u(dtReal const &uu) const

Return arc length from getUMin() to a native u coordinate.

virtual dtReal u_l(dtReal const &ll) const

Return the native u coordinate at an arc length from getUMin().

virtual vectorHandling<renderInterface*> getRender(void) const

Return renderable representations of this curve.

virtual dtReal reparamOnEdge(dtPoint3 const &ppXYZ) const

Return the native u coordinate closest to a spatial point.

dtPoint3 getPointPercent(dtReal const &uu) const

Evaluate the curve at a normalized u coordinate.

dtVector3 firstDerUPercent(dtReal const &uP) const

Return the first derivative at a normalized u coordinate.

map1dTo3d *segmentPercent(dtReal const &u0, dtReal const &u1) const

Create the curve segment between two normalized u coordinates.

dtReal u_percent(dtReal const &uu) const

Convert normalized u to its native parameter value.

dtReal u_lPercent(dtReal const &lP) const

Return native u at a normalized arc length.

dtReal percent_u(dtReal const &uu) const

Convert native u to a normalized parameter value.

dtReal percent_l(dtReal const &ll) const

Convert arc length to a fraction of total curve length.

dtReal lPercent_u(dtReal const &uu) const

Return normalized arc length at a native u coordinate.

dtReal length(void) const

Return the total curve length.

dtReal operator%(const dtReal &percent) const

Return native u for a normalized u coordinate.

dtReal operator|(const dtReal &length) const

Return native u for an arc length.

dtReal operator&(const dtReal &lengthPercent) const

Return native u for a normalized arc length.

class map2dTo3d : public dtOO::analyticGeometry

Abstract two-dimensional map embedded in three-dimensional space.

This class represents a parameterized surface p(u, v). Concrete implementations provide native-coordinate point evaluation, creation, cloning, and transformation. Percent-coordinate variants use normalized u and v values in [0, 1].

It provides common surface operations including derivatives, normals, Jacobians, closest-point reparameterization, boundary curves, and trimmed curve or surface segments.

Subclassed by dtOO::analyticSurface, dtOO::rotatingMap1dTo3d, dtOO::trans4SidedFace, dtOO::vec2dTwoDInMap2dTo3d, dtOO::vec3dTwoDInMap3dTo3d

Public Functions

virtual dtInt dim(void) const

Return the two-dimensional parameter-space dimension.

virtual dtPoint3 getPoint(dtReal const *const uvw) const

Evaluate the surface from a two-element parameter array.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const

Evaluate first derivatives from a two-element parameter array.

virtual map2dTo3d *create(void) const = 0

Create a default instance of the concrete surface type.

virtual map2dTo3d *clone(void) const = 0

Create a copy of this surface.

virtual map2dTo3d *cloneTransformed(dtTransformer const *const dtT) const = 0

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const = 0

Evaluate the surface at native u and v coordinates.

virtual vectorHandling<renderInterface*> getRender(void) const

Return renderable representations of this surface.

virtual vectorHandling<renderInterface*> getExtRender(void) const

Return supplementary renderable representations of this surface.

virtual std::vector<dtVector3> firstDer(dtPoint2 const &pp) const

Return first derivatives at native coordinates.

virtual std::vector<dtVector3> secondDer(dtReal const &uu, dtReal const &vv) const

Return second derivatives at native coordinates.

virtual dtVector3 normal(dtReal const &uu, dtReal const &vv) const

Return the unit normal at native coordinates.

virtual dtPoint2 reparamOnFace(dtPoint3 const &ppXYZ) const

Return native surface coordinates closest to a spatial point.

virtual dtPoint2 approxOnFace(dtPoint3 const &ppXYZ) const

Return an approximate native surface coordinate for a spatial point.

virtual map1dTo3d *segment(dtPoint2 const &p0, dtPoint2 const &p1) const

Create a curve segment between two native surface coordinates.

virtual map2dTo3d *segment(dtPoint2 const &p0, dtPoint2 const &p1, dtPoint2 const &p2, dtPoint2 const &p3) const

Create a bilinearly parameterized surface segment from four native parameter-space corners.

*   (v)
*    ^
*
*   (3)      (2)
*    +--------+
*    |        |
*    |        |
*    +--------+ --> (u)
*   (0)      (1)
*
virtual map2dTo3d *segmentRectangle(dtPoint2 const &p0, dtPoint2 const &p1) const

Create an axis-aligned surface segment between two native parameter coordinates.

*   (v)
*    ^
*            (1)
*    +--------+
*    |        |
*    |        |
*    +--------+ --> (u)
*   (0)
*
dtPoint3 getPointPercent(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at normalized u and v coordinates.

dtMatrix jacobi(dtReal const &uu, dtReal const &vv) const

Return the Jacobian matrix at native u and v coordinates.

bool inRange(dtPoint2 const &pUV) const

Return whether native surface coordinates lie within the parameter bounds.

dtPoint2 reparamPercentOnFace(dtPoint3 const &ppXYZ) const

Return normalized surface coordinates closest to a spatial point.

dtPoint2 approxPercentOnFace(dtPoint3 const &ppXYZ) const

Return approximate normalized surface coordinates for a spatial point.

map2dTo3d *segmentPercent(dtPoint2 const &p0, dtPoint2 const &p1, dtPoint2 const &p2, dtPoint2 const &p3) const

Create a bilinearly parameterized surface segment from four normalized parameter-space corners.

*   (v)
*    ^
*
*   (3)      (2)
*    +--------+
*    |        |
*    |        |
*    +--------+ --> (u)
*   (0)      (1)
*
map2dTo3d *segmentRectanglePercent(dtPoint2 const &p0, dtPoint2 const &p1) const

Create an axis-aligned surface segment between two normalized parameter coordinates.

*   (v)
*    ^
*            (1)
*    +--------+
*    |        |
*    |        |
*    +--------+ --> (u)
*   (0)
*
dtPoint2 operator%(const dtPoint2 &percent) const

Convert normalized u and v coordinates to native coordinates.

class map3dTo3d : public dtOO::analyticGeometry

Abstract three-dimensional map embedded in three-dimensional space.

This class represents a parameterized volume p(u, v, w). Concrete implementations provide native-coordinate point evaluation, creation, cloning, and transformation. Percent-coordinate variants use normalized coordinates in [0, 1] for every parameter direction.

Common helpers expose first derivatives, volume reparameterization, boundary surfaces, curve and surface segments, parameter bounds, and rendering resolutions.

Subclassed by dtOO::infinityMap3dTo3d, dtOO::radialTranslatingMap2dTo3d, dtOO::rotatingMap2dTo3d, dtOO::trans6SidedCube, dtOO::translatingMap2dTo3d, dtOO::vec3dThreeDInMap3dTo3d

Public Functions

virtual dtInt dim(void) const

Return the three-dimensional parameter-space dimension.

virtual dtPoint3 getPoint(dtReal const *const uvw) const

Evaluate the volume from a three-element parameter array.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const

Evaluate first derivatives from a three-element parameter array.

virtual vectorHandling<renderInterface*> getRender(void) const

Return renderable representations of this volume.

virtual map3dTo3d *create(void) const = 0

Create a default instance of the concrete volume type.

virtual map3dTo3d *clone(void) const = 0

Create a copy of this volume.

virtual map3dTo3d *cloneTransformed(dtTransformer const *const dtT) const = 0

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const = 0

Evaluate the volume at native u, v, and w coordinates.

virtual dtPoint3 reparamInVolume(dtPoint3 const &ppXYZ) const

Return native volume coordinates closest to a spatial point.

virtual std::vector<dtVector3> firstDer(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Return first derivatives at native u, v, and w coordinates.

virtual map1dTo3d *segment(dtPoint3 const &p0, dtPoint3 const &p1) const

Create a curve segment between two native volume coordinates.

virtual map2dTo3d *segment(twoDArrayHandling<dtPoint3> const &pp) const

Create a surface segment from a native-coordinate point array.

virtual map2dTo3d *segmentConstU(dtReal const &uu) const

Return the native constant-u boundary surface.

virtual map2dTo3d *segmentConstV(dtReal const &vv) const

Return the native constant-v boundary surface.

virtual map2dTo3d *segmentConstW(dtReal const &ww) const

Return the native constant-w boundary surface.

virtual map2dTo3d *segmentConstU(dtReal const &uu, dtPoint2 const &p0, dtPoint2 const &p1) const

(w) A | (1) +—–—+

+—–—+ –> (v) (0)

virtual map2dTo3d *segmentConstV(dtReal const &vv, dtPoint2 const &p0, dtPoint2 const &p1) const

(w) A | (1) +—–—+

+—–—+ –> (u) (0)

virtual map2dTo3d *segmentConstW(dtReal const &ww, dtPoint2 const &p0, dtPoint2 const &p1) const

(v) A | (1) +—–—+

+—–—+ –> (u) (0)

dtPoint3 reparamPercentInVolume(dtPoint3 const &ppXYZ) const

Return normalized volume coordinates closest to a spatial point.

dtPoint3 approxPercentInVolume(dtPoint3 const &ppXYZ) const

Return approximate normalized volume coordinates for a spatial point.

bool inRange(dtPoint3 const &pUVW) const

Return whether native volume coordinates lie within the parameter bounds.

dtPoint3 getPointPercent(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at normalized u, v, and w coordinates.

dtPoint3 percent_uvw(dtPoint3 const &pUVW) const

Convert native u, v, and w coordinates to normalized coordinates.

dtPoint3 uvw_percent(dtPoint3 const &pp) const

Convert normalized u, v, and w coordinates to native coordinates.

map2dTo3d *segment(dtPoint3 const &p0, dtPoint3 const &p1, dtPoint3 const &p2, dtPoint3 const &p3) const

(v) A |

(3) (2) +—–—+

+—–—+ –> (u) (0) (1)

Concrete

These concrete and adapting classes use analyticGeometry or one of the map superclasses to represent curves, surfaces, volumes, transformations, and function-based geometries.

class analyticCurve : public dtOO::map1dTo3d

Curve wrapper around a CAD dtCurve with analytic-map operations.

Public Functions

virtual analyticCurve *create(void) const

Create a default instance of the concrete curve type.

virtual analyticCurve *clone(void) const

Create a copy of this curve.

virtual analyticCurve *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu) const

Evaluate the curve at a native u coordinate.

virtual map1dTo3d *segment(dtReal const &u0, dtReal const &u1) const

Create a CAD-backed curve segment between native parameters.

virtual dtReal l_u(dtReal const &uu) const

Return arc length from getUMin() to a native u coordinate.

virtual dtReal u_l(dtReal const &ll) const

Return the native u coordinate at an arc length from getUMin().

dtCurve *ptrDtCurve(void) const

Return the mutable underlying CAD curve.

dtCurve const *const ptrConstDtCurve(void) const

Return the underlying CAD curve.

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

class analyticRotatingMap1dTo3d : public dtOO::analyticSurface

CAD surface of revolution with helpers for cylindrical coordinate conversions.

Public Functions

virtual analyticRotatingMap1dTo3d *clone(void) const

Create a copy of this surface.

virtual analyticRotatingMap1dTo3d *create(void) const

Create a default instance of the concrete surface type.

dtPoint3 getOrigin(void) const

Return a point on the rotation axis.

dtVector3 getRotVector(void) const

Return the normalized rotation-axis vector.

dtReal getAngle(void) const

Return the revolution angle in radians.

virtual dtReal u_phi(dtReal const &arg) const

Convert an azimuth angle in radians to native u.

virtual dtReal phi_u(dtReal const &arg) const

Convert native u to an azimuth angle in radians.

virtual dtReal v_m(dtReal const &arg) const

Convert meridional arc length to native v.

virtual dtReal m_v(dtReal const &arg) const

Convert native v to meridional arc length.

virtual dtPoint3 xyz_phiZ(dtReal const &arg0, dtReal const &arg1) const

Evaluate the surface from azimuth angle and axis coordinate.

virtual dtPoint2 uv_phiZ(dtReal const &arg0, dtReal const &arg1) const

Convert azimuth angle and axis coordinate to native UV.

virtual dtPoint2 uv_deltaPhiRadiusDeltaM(dtReal const &bU, dtReal const &bV, dtReal const &arg0, dtReal const &arg1) const

Offset base UV by circumferential and meridional distances.

virtual dtPoint2 uv_phiRadiusM(dtReal const &arg0, dtReal const &arg1) const

Convert circumferential distance and meridional arc length to native UV.

virtual dtPoint2 uv_phiM(dtReal const &arg0, dtReal const &arg1) const

Convert azimuth angle and meridional arc length to native UV.

virtual dtReal zMin(void) const

Return the axial coordinate at the minimum native v.

virtual dtReal zMax(void) const

Return the axial coordinate at the maximum native v.

virtual dtReal z_v(dtReal const &arg) const

Convert native v to distance along the rotation axis.

virtual dtReal v_z(dtReal const &arg) const

Convert distance along the rotation axis to native v.

virtual dtReal r_v(dtReal const &arg0) const

Return the revolution radius at native v.

virtual dtReal r_m(dtReal const &arg0) const

Return the revolution radius at meridional arc length.

void correctOrigin(void)

Move the stored origin onto the rotation axis of the generating surface.

virtual map2dTo3d *segmentRectangle(dtPoint2 const &p0, dtPoint2 const &p1) const

Create an axis-aligned surface segment between two native parameter coordinates.

*   (v)
*    ^
*            (1)
*    +--------+
*    |        |
*    |        |
*    +--------+ --> (u)
*   (0)
*
class analyticSurface : public dtOO::map2dTo3d

Surface wrapper around a CAD dtSurface with analytic-map operations.

Subclassed by dtOO::analyticRotatingMap1dTo3d

Public Functions

virtual analyticSurface *create(void) const

Create a default instance of the concrete surface type.

virtual analyticSurface *clone(void) const

Create a copy of this surface.

virtual analyticSurface *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at native u and v coordinates.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual vectorHandling<renderInterface*> getExtRender(void) const

Return supplementary renderable representations of this surface.

virtual dtVector3 normal(dtReal const &uu, dtReal const &vv) const

Return the unit normal at native coordinates.

virtual std::vector<dtVector3> secondDer(dtReal const &uu, dtReal const &vv) const

Return second derivatives at native coordinates.

virtual dtPoint2 reparamOnFace(dtPoint3 const &ppXYZ) const

Return CAD surface coordinates closest to ppXYZ.

virtual map2dTo3d *segmentRectangle(dtPoint2 const &p0, dtPoint2 const &p1) const

Create an axis-aligned surface segment between two native parameter coordinates.

*   (v)
*    ^
*            (1)
*    +--------+
*    |        |
*    |        |
*    +--------+ --> (u)
*   (0)
*
virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

virtual void offsetNormal(dtReal const nn)

Offset the underlying CAD surface along its normal by nn.

class infinityMap3dTo3d : public dtOO::map3dTo3d

Identity volume map on native [-1, 1] coordinates without percent conversion.

Public Functions

virtual infinityMap3dTo3d *create(void) const

Create a default instance of the concrete volume type.

virtual infinityMap3dTo3d *clone(void) const

Create a copy of this volume.

virtual infinityMap3dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtReal u_percent(dtReal const &uu) const

Percent-to-native u conversion is unsupported for this map.

virtual dtReal v_percent(dtReal const &vv) const

Percent-to-native v conversion is unsupported for this map.

virtual dtReal w_percent(dtReal const &ww) const

Percent-to-native w conversion is unsupported for this map.

virtual dtReal percent_u(dtReal const &per) const

Native-to-percent u conversion is unsupported for this map.

virtual dtReal percent_v(dtReal const &per) const

Native-to-percent v conversion is unsupported for this map.

virtual dtReal percent_w(dtReal const &per) const

Native-to-percent w conversion is unsupported for this map.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

template<typename funT>
class map1dTo3dTransformed : public funT

Template decorator that applies an invertible 3D transformer to a curve map.

Public Functions

virtual dtPoint3 getPoint(dtReal const &uu) const

Evaluate the wrapped curve and transform its point.

virtual dtVector3 firstDerU(dtReal const &uu) const

Evaluate the wrapped curve derivative and transform its vector.

template<typename funT>
class map2dTo3dTransformed : public funT

Template decorator that applies an invertible 3D transformer to a surface map.

Public Functions

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the wrapped surface and transform its point.

virtual vectorHandling<renderInterface*> getExtRender(void) const

Return transformed supplementary render objects.

virtual dtPoint2 reparamOnFace(dtPoint3 const &ppXYZ) const

Reparameterize a point through the base surface implementation.

template<typename funT>
class map3dTo3dTransformed : public funT

Template decorator that applies an invertible 3D transformer to a volume map.

Public Functions

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the wrapped volume and transform its point.

virtual dtPoint3 reparamInVolume(dtPoint3 const &ppXYZ) const

Reparameterize a point through the base volume implementation.

class multipleBoundedSurface : public dtOO::analyticGeometry

Surface wrapper that retains multiple boundary curves and their UV polygons.

Public Functions

virtual multipleBoundedSurface *create(void) const

Create a default instance of the concrete geometry type.

virtual multipleBoundedSurface *clone(void) const

Create a copy of this geometry.

virtual dtInt dim(void) const

Return the parameter-space dimension (one, two, or three).

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const *const uvw) const

Evaluate a point using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

Point on the geometry.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const

Evaluate first derivatives using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

First derivative vector for every parameter direction.

ptrVectorHandling<analyticGeometry> const boundsPointerVectorConst(void) const

Return clones of the boundary curves.

analyticGeometry const *const surfaceConstPtr(void) const

Return the supporting surface.

bool insideInternalPolygon(dtPoint2 const &ppUV) const

Return whether native UV coordinates lie in the boundary polygon.

class multipleBoundedVolume : public dtOO::analyticGeometry

Volume wrapper that retains multiple bounding surfaces for a region.

Public Functions

virtual multipleBoundedVolume *create(void) const

Create a default instance of the concrete geometry type.

virtual multipleBoundedVolume *clone(void) const

Create a copy of this geometry.

virtual dtInt dim(void) const

Return the parameter-space dimension (one, two, or three).

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const *const uvw) const

Evaluate a point using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

Point on the geometry.

virtual ::std::vector<dtVector3> firstDer(dtReal const *const uvw) const

Evaluate first derivatives using native parameter coordinates.

Parameters:

uvw – One coordinate per parameter direction.

Returns:

First derivative vector for every parameter direction.

ptrVectorHandling<analyticGeometry> const &boundsVectorConstRef(void) const

Return the owned bounding surfaces.

analyticGeometry const *const regionConstPtr(void) const

Return the supporting volume region.

class partRotatingMap1dTo3d : public dtOO::rotatingMap1dTo3d

Revolution surface restricted to a supplied normalized angular interval.

Public Functions

virtual partRotatingMap1dTo3d *create(void) const

Create a default instance of the concrete surface type.

virtual partRotatingMap1dTo3d *clone(void) const

Create a copy of this surface.

virtual partRotatingMap1dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at native u and v coordinates.

class partRotatingMap2dTo3d : public dtOO::rotatingMap2dTo3d

Revolution volume restricted to a supplied normalized angular interval.

Public Functions

virtual partRotatingMap2dTo3d *create(void) const

Create a default instance of the concrete volume type.

virtual partRotatingMap2dTo3d *clone(void) const

Create a copy of this volume.

virtual partRotatingMap2dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

virtual map2dTo3d *segmentConstV(dtReal const &ww) const

Return the native constant-v boundary surface.

virtual map2dTo3d *segmentConstW(dtReal const &ww) const

Return the native constant-w boundary surface.

class radialTranslatingMap2dTo3d : public dtOO::map3dTo3d

Volume generated by radially translating a surface over a fixed distance.

Public Functions

virtual radialTranslatingMap2dTo3d *create(void) const

Create a default instance of the concrete volume type.

virtual radialTranslatingMap2dTo3d *clone(void) const

Create a copy of this volume.

virtual radialTranslatingMap2dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

class rotatingMap1dTo3d : public dtOO::map2dTo3d

Surface generated by revolving a curve about a vector-defined axis.

Subclassed by dtOO::partRotatingMap1dTo3d

Public Functions

virtual rotatingMap1dTo3d *create(void) const

Create a default instance of the concrete surface type.

virtual rotatingMap1dTo3d *clone(void) const

Create a copy of this surface.

virtual rotatingMap1dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at native u and v coordinates.

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

map1dTo3d const &constRefMap1dTo3d(void) const

Return the generating curve.

map1dTo3d const *constPtrMap1dTo3d(void) const

Return the generating curve.

dtVector3 const &rotationAxis(void) const

Return the normalized rotation axis.

dtPoint3 const &origin(void) const

Return a point on the rotation axis.

class rotatingMap2dTo3d : public dtOO::map3dTo3d

Volume generated by revolving a surface about a vector-defined axis.

Subclassed by dtOO::partRotatingMap2dTo3d

Public Functions

virtual rotatingMap2dTo3d *create(void) const

Create a default instance of the concrete volume type.

virtual rotatingMap2dTo3d *clone(void) const

Create a copy of this volume.

virtual rotatingMap2dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

virtual map2dTo3d *segmentConstU(dtReal const &uu) const

Return the native constant-u boundary surface.

virtual map2dTo3d *segmentConstV(dtReal const &vv) const

Return the native constant-v boundary surface.

virtual map2dTo3d *segmentConstW(dtReal const &ww) const

Return the native constant-w boundary surface.

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

map2dTo3d const &constRefMap2dTo3d(void) const

Return the generating surface.

map2dTo3d const *const constPtrMap2dTo3d(void) const

Return the generating surface.

dtVector3 const &rotationAxis(void) const

Return the normalized rotation axis.

dtPoint3 const &origin(void) const

Return a point on the rotation axis.

class scaOneDInMap1dTo3d : public dtOO::map1dTo3d

Curve obtained by evaluating a scalar parameter function on another curve.

Public Functions

scaOneDInMap1dTo3d(scaOneD const *const s1d, map1dTo3d const *const m1d, bool const &percentF)

Construct a composition of s1d and m1d.

Parameters:

percentF – Interpret scalar-function output as normalized curve u.

virtual scaOneDInMap1dTo3d *clone(void) const

Create a copy of this curve.

virtual scaOneDInMap1dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual scaOneDInMap1dTo3d *create(void) const

Create a default instance of the concrete curve type.

virtual dtPoint3 getPoint(dtReal const &uu) const

Evaluate the curve at a native u coordinate.

virtual bool isClosed(dtInt const &dir) const

Todo:

This check is not enough. Maybe a general check on base class?

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

scaOneD const *ptrToScaOneD(void) const

Return the composed scalar function.

map1dTo3d const *ptrToMap1dTo3d(void) const

Return the composed curve map.

class trans4SidedFace : public dtOO::map2dTo3d

Transfinite surface interpolated from four ordered boundary curves.

Public Functions

virtual trans4SidedFace *create(void) const

Create a default instance of the concrete surface type.

virtual trans4SidedFace *clone(void) const

Create a copy of this surface.

virtual trans4SidedFace *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at native u and v coordinates.

class trans6SidedCube : public dtOO::map3dTo3d

Transfinite volume interpolated from six bounding surfaces.

Public Functions

virtual trans6SidedCube *create(void) const

Create a default instance of the concrete volume type.

virtual trans6SidedCube *clone(void) const

Create a copy of this volume.

virtual trans6SidedCube *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

virtual map2dTo3d *segmentConstU(dtReal const &uu) const

Return the native constant-u boundary surface.

virtual map2dTo3d *segmentConstV(dtReal const &vv) const

Return the native constant-v boundary surface.

virtual map2dTo3d *segmentConstW(dtReal const &ww) const

Return the native constant-w boundary surface.

vectorHandling<map2dTo3d const*> const &constRefMap2dTo3d(void) const

Return the six bounding surfaces in transfinite-cube order.

void reverseU(void)

Reverse the native u parameter direction.

void reverseV(void)

Reverse the native v parameter direction.

void reverseW(void)

Reverse the native w parameter direction.

void exchangeUV(void)

Exchange the native u and v parameter directions.

void exchangeUW(void)

Exchange the native u and w parameter directions.

void exchangeVW(void)

Exchange the native v and w parameter directions.

class translatingMap2dTo3d : public dtOO::map3dTo3d

Volume generated by translating a surface along a vector-defined axis.

Public Functions

virtual translatingMap2dTo3d *create(void) const

Create a default instance of the concrete volume type.

virtual translatingMap2dTo3d *clone(void) const

Create a copy of this volume.

virtual translatingMap2dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

virtual map2dTo3d *segmentConstU(dtReal const &uu) const

Return the native constant-u boundary surface.

virtual map2dTo3d *segmentConstV(dtReal const &vv) const

Return the native constant-v boundary surface.

virtual map2dTo3d *segmentConstW(dtReal const &ww) const

Return the native constant-w boundary surface.

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.

map2dTo3d const &constRefMap2dTo3d(void) const

Return the generating surface.

dtVector3 const &translationAxis(void) const

Return the translation vector spanning the first volume direction.

class vec2dOneDInMap2dTo3d : public dtOO::map1dTo3d

Curve obtained by evaluating a one-dimensional UV function on a surface.

Public Functions

vec2dOneDInMap2dTo3d(vec2dOneD const *const v2d1d, map2dTo3d const *const m2d, bool const &percentF)

Construct a composition of v2d1d and m2d.

Parameters:

percentF – Interpret the generated UV coordinates as normalized.

virtual vec2dOneDInMap2dTo3d *clone(void) const

Create a copy of this curve.

virtual vec2dOneDInMap2dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual vec2dOneDInMap2dTo3d *create(void) const

Create a default instance of the concrete curve type.

virtual dtPoint3 getPoint(dtReal const &uu) const

Evaluate the curve at a native u coordinate.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

vec2dOneD const *ptrToVec2dOneD(void) const

Return the composed UV function.

map2dTo3d const *ptrToMap2dTo3d(void) const

Return the composed surface map.

bool isPercent(void) const

Return whether generated UV coordinates are normalized.

class vec2dTwoDInMap2dTo3d : public dtOO::map2dTo3d

Surface obtained by evaluating a two-dimensional UV map on another surface.

Public Functions

vec2dTwoDInMap2dTo3d(vec2dTwoD const *const v2d2d, map2dTo3d const *const m2d, bool const &percentF)

Construct a composition of v2d2d and m2d.

Parameters:

percentF – Interpret the generated UV coordinates as normalized.

virtual vec2dTwoDInMap2dTo3d *clone(void) const

Create a copy of this surface.

virtual vec2dTwoDInMap2dTo3d *create(void) const

Create a default instance of the concrete surface type.

virtual vec2dTwoDInMap2dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at native u and v coordinates.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

vec2dTwoD const *ptrToVec2dTwoD(void) const

Return the composed UV map.

map2dTo3d const *ptrToMap2dTo3d(void) const

Return the composed surface map.

class vec3dOneDInMap3dTo3d : public dtOO::map1dTo3d

Curve obtained by evaluating a one-dimensional UVW function in a volume map.

Public Functions

vec3dOneDInMap3dTo3d(vec3dOneD const *const v1d, map3dTo3d const *const m3d, bool percentF = false)

Construct a composition of v1d and m3d.

Parameters:

percentF – Interpret generated UVW coordinates as normalized.

virtual vec3dOneDInMap3dTo3d *clone(void) const

Create a copy of this curve.

virtual vec3dOneDInMap3dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual vec3dOneDInMap3dTo3d *create(void) const

Create a default instance of the concrete curve type.

virtual dtPoint3 getPoint(dtReal const &uu) const

Evaluate the curve at a native u coordinate.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

vec3dOneD const *refToVec3dOneD(void) const

Return the composed UVW function.

map3dTo3d const *refToMap3dTo3d(void) const

Return the composed volume map.

class vec3dThreeDInMap3dTo3d : public dtOO::map3dTo3d

Volume obtained by evaluating a three-dimensional UVW function in another volume map.

Subclassed by dtOO::analyticGeometryCompound< vec3dThreeDInMap3dTo3d >

Public Functions

vec3dThreeDInMap3dTo3d(vec3dThreeD const *const v3d, map3dTo3d const *const m3d, bool percentF = false)

Construct a composition of v3d and m3d.

Parameters:

percentF – Interpret generated UVW coordinates as normalized.

virtual vec3dThreeDInMap3dTo3d *create(void) const

Create a default instance of the concrete volume type.

virtual vec3dThreeDInMap3dTo3d *clone(void) const

Create a copy of this volume.

virtual vec3dThreeDInMap3dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv, dtReal const &ww) const

Evaluate the volume at native u, v, and w coordinates.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

vec3dThreeD const *refToVec3dThreeD(void) const

Return the composed UVW map.

map3dTo3d const *refToMap3dTo3d(void) const

Return the composed volume map.

class vec3dTwoDInMap3dTo3d : public dtOO::map2dTo3d

Surface obtained by evaluating a two-dimensional UVW function in a volume map.

Public Functions

vec3dTwoDInMap3dTo3d(vec3dTwoD const *const v2d, map3dTo3d const *const m3d, bool percentF = false)

Construct a composition of v2d and m3d.

Parameters:

percentF – Interpret generated UVW coordinates as normalized.

virtual vec3dTwoDInMap3dTo3d *clone(void) const

Create a copy of this surface.

virtual vec3dTwoDInMap3dTo3d *create(void) const

Create a default instance of the concrete surface type.

virtual vec3dTwoDInMap3dTo3d *cloneTransformed(dtTransformer const *const dtT) const

Create a copy transformed by the supplied transformer.

virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const

Evaluate the surface at native u and v coordinates.

virtual bool isClosed(dtInt const &dir) const

Return whether the parameter direction is periodic or closed.

virtual dtReal getMin(dtInt const &dir) const

Return the lower bound of a parameter direction.

virtual dtReal getMax(dtInt const &dir) const

Return the upper bound of a parameter direction.

vec3dTwoD const *refToVec3dTwoD(void) const

Return the composed UVW map.

map3dTo3d const *refToMap3dTo3d(void) const

Return the composed volume map.

virtual vectorHandling<renderInterface*> getExtRender(void) const

Return supplementary renderable representations of this surface.

virtual std::string dumpToString(void) const

Return a textual representation of this geometry.