Builders

Builders create, modify, analyze, or query geometries. They are named after their input and result types rather than inheriting from a map base class.

class bool_map1dTo3dInMap2dTo3d

Determines whether a curve lies inside a surface and records its UV endpoints.

Public Functions

bool result(void)

Return whether the curve is contained by the surface.

std::pair<dtPoint2, dtPoint2> points(void) const

Return UV coordinates of the curve endpoints on the surface.

class dtPoint3_map1dTo3dEquidistantPoint

Samples a curve into points equally spaced by arc length.

Public Functions

std::vector<dtPoint3> result(void)

Return the arc-length-equidistant samples.

class dtPoint3_map1dTo3dPoint

Samples a curve at uniformly spaced parameter values.

Public Functions

std::vector<dtPoint3> result(void)

Return the uniformly parameter-spaced samples.

class float_map1dTo3dPointConstCartesian

Finds a curve parameter whose selected Cartesian coordinate equals a value.

Public Functions

dtReal result(void)

Return the curve parameter satisfying the Cartesian-coordinate constraint.

class map1dTo3d_closeGapsArithmetic

Adjusts a sequence of curves to close gaps using arithmetic endpoint corrections.

Public Functions

ptrVectorHandling<map1dTo3d> result(void)

Return copies of the curves after their endpoint gaps are closed.

class map1dTo3d_findLoop

Finds an oriented index sequence that forms a closed loop of curves.

Public Functions

std::vector<dtInt> result(void)

Return signed curve indices in the discovered loop orientation.

class map1dTo3d_normalOffsetMap1dTo3dInMap2dTo3d

Approximates a curve offset by a surface normal within its supporting surface.

Public Functions

map1dTo3d *result(void)

Return the approximated normal-offset curve; ownership is transferred.

class map1dTo3d_orderLoop

Reorders and reorients curves into a connected closed loop.

Public Functions

ptrVectorHandling<map1dTo3d> result(void)

Return owned curve copies ordered and oriented as a closed loop.

class dtPoint3_map2dTo3dPoint

Samples a surface on an nU by nV parameter grid.

Public Functions

twoDArrayHandling<dtPoint3> result(void)

Return the sampled point grid.

class map2dTo3d_approximateMap2dTo3dInMap3dTo3d

Approximates a surface expressed in the parameter space of a volume map.

Public Functions

map2dTo3d *result(void)

Return the approximating surface; ownership is transferred.

class map2dTo3d_constructMarginFaces

Constructs the five faces that form a margin around a surface boundary.

(v)
 ^
 |

 (0,1)            (1,1)             faces:
 o--------------------o             <0>: 0/1/2/3
 |\     <3>          /|             <1>: (0,0)/(1,0)/1/0
 | o----------------o |             <2>: (1,0)/(1,1)/2/1
 | |3              2| |             <3>: (1,1)/(0,1)/3/2
 <4>      <0>       <2>             <4>: (0,1)/(0,0)/0/3
 | |0              1| |
 | o----------------o |
 |/      <1>         \|
 o--------------------o  --> (u)
 (0,0)            (1,0)

Public Functions

ptrVectorHandling<map2dTo3d> result(void)

Return the constructed central and four margin faces.

class map2dTo3d_fullExtentInMap3dTo3d

Extends a surface parameter direction to span its containing volume direction.

Public Functions

map2dTo3d *result(void)

Return the extended surface; ownership is transferred.

class pairUUV_map1dTo3dClosestPointToMap2dTo3d

Finds the closest curve parameter and surface UV coordinates between two maps.

Public Functions

std::pair<dtReal, dtPoint2> result(void)

Return the closest curve u and surface UV coordinates.

class uv_map2dTo3dClosestPointToPoint

Finds UV coordinates on a surface closest to a supplied spatial point.

Public Functions

dtPoint2 result(void)

Return the closest native UV coordinates.

dtReal distance(void)

Return the distance from the input point to the closest surface point.

class trans6SidedCube_splitTrans6SidedCube

Splits a transfinite six-sided cube at a native parameter-space point.

Public Functions

vectorHandling<trans6SidedCube*> result(void)

Return the split cube volumes; ownership is transferred.

vectorHandling<analyticGeometry*> resultGeometries(void)

Return all geometries produced while splitting; ownership is transferred.