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.
-
dtPoint3 getPointPercent(dtReal const *const uvw) const
-
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
-
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.
-
dtInt nComponents(void) const
-
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.
-
virtual analyticGeometryGroup *clone(void) const
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 *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.
-
virtual dtInt dim(void) const
-
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 *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.
-
virtual dtInt dim(void) const
-
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 *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.
-
virtual dtInt dim(void) const
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.
-
virtual analyticCurve *create(void) const
-
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 analyticRotatingMap1dTo3d *clone(void) const
-
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.
-
virtual analyticSurface *create(void) const
-
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.
-
virtual infinityMap3dTo3d *create(void) const
-
template<typename funT>
class map1dTo3dTransformed : public funT Template decorator that applies an invertible 3D transformer to a curve map.
-
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.
-
virtual dtPoint3 getPoint(dtReal const &uu, dtReal const &vv) const
-
template<typename funT>
class map3dTo3dTransformed : public funT Template decorator that applies an invertible 3D transformer to a volume map.
-
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.
-
virtual multipleBoundedSurface *create(void) const
-
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.
-
virtual multipleBoundedVolume *create(void) const
-
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.
-
virtual partRotatingMap1dTo3d *create(void) const
-
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 partRotatingMap2dTo3d *create(void) const
-
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.
-
virtual radialTranslatingMap2dTo3d *create(void) const
-
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.
-
dtVector3 const &rotationAxis(void) const
Return the normalized rotation axis.
-
dtPoint3 const &origin(void) const
Return a point on the rotation axis.
-
virtual rotatingMap1dTo3d *create(void) const
-
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.
-
dtVector3 const &rotationAxis(void) const
Return the normalized rotation axis.
-
dtPoint3 const &origin(void) const
Return a point on the rotation axis.
-
virtual rotatingMap2dTo3d *create(void) const
-
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
s1dandm1d.- 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.
-
scaOneDInMap1dTo3d(scaOneD const *const s1d, map1dTo3d const *const m1d, bool const &percentF)
-
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.
-
virtual trans4SidedFace *create(void) const
-
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.
-
virtual trans6SidedCube *create(void) const
-
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.
-
dtVector3 const &translationAxis(void) const
Return the translation vector spanning the first volume direction.
-
virtual translatingMap2dTo3d *create(void) const
-
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
v2d1dandm2d.- 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.
-
bool isPercent(void) const
Return whether generated UV coordinates are normalized.
-
vec2dOneDInMap2dTo3d(vec2dOneD const *const v2d1d, map2dTo3d const *const m2d, bool const &percentF)
-
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
v2d2dandm2d.- 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.
-
vec2dTwoDInMap2dTo3d(vec2dTwoD const *const v2d2d, map2dTo3d const *const m2d, bool const &percentF)
-
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
v1dandm3d.- 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.
-
vec3dOneDInMap3dTo3d(vec3dOneD const *const v1d, map3dTo3d const *const m3d, bool percentF = false)
-
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
v3dandm3d.- 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.
-
vec3dThreeDInMap3dTo3d(vec3dThreeD const *const v3d, map3dTo3d const *const m3d, bool percentF = false)
-
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
v2dandm3d.- 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.
-
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.
-
vec3dTwoDInMap3dTo3d(vec3dTwoD const *const v2d, map3dTo3d const *const m3d, bool percentF = false)