A
list of trim curves defining a trim boundary.
Synopsis
#include <AlTrimBoundary.h>
class AlTrimBoundary : public AlObject
virtual ~AlTrimBoundary();
virtual AlObject* copyWrapper() const;
virtual AlObjectType type() const;
AlTrimRegion* parentRegion() const;
AlDagNode* parentDagNode() const;
AlTrimCurve* firstCurve() const;
statusCode applyIteratorToCurves( AlIterator*, int& );
AlTrimBoundary* nextBoundary() const;
statusCode nextBoundaryD();
AlTrimBoundary* prevBoundary() const;
statusCode prevBoundaryD();
statusCode convertToUVPolyline( int &np, double *&CVList );
Description
This class holds a list
of AlTrimCurve objects. The trim curves form a closed boundary which
partition a surface. The trim curves are defined in a surface’s
parametric space.
Note that trim boundaries
have the surface to the right of the defining curves.
Also, in the list of
trim curves, the end point of a trim curve is coincident with the
first point of its following trim curve. The end point of the last
trim curve is coincident with the first point of the first trim
curve.
AlTrimBoundary::~AlTrimBoundary()
Description
Deletes
an AlTrimBoundary wrapper object.
AlObject *AlTrimBoundary::copyWrapper()
const
Description
Return an exact duplicate of this
AlTrimBoundary wrapper.
AlObjectType AlTrimBoundary::type()
const
Description
Returns
the class identifier kTrimBoundary type.
AlTrimCurve* AlTrimBoundary::firstCurve()
const
Description
Returns the first trim curve of a
list of trim boundaries or NULL if this boundary has no curves.
AlTrimBoundary* AlTrimBoundary::nextBoundary()
const
Description
Returns the next trim boundary.
Returns NULL if there is no such trim boundary.
statusCode AlTrimBoundary::nextBoundaryD()
Description
Destructively
points this wrapper to the next boundary. If there is no such boundary,
then the object is left unchanged.
Return Codes
sSuccess - the wrapper
now points to the next boundary
sFailure - there is no
next boundary
sInvalidObject - the
trim boundary is invalid
AlTrimBoundary* AlTrimBoundary::prevBoundary()
const
Description
Returns the previous trim boundary.
Returns NULL if there is no such trim boundary.
statusCode AlTrimBoundary::prevBoundaryD()
Description
Destructively
points this wrapper to the previous boundary. If there is no such
boundary, then the object is left unchanged.
Return Codes
sSuccess - the wrapper
now points to the previous boundary
sFailure - there is no
prev boundary
sInvalidObject - the
trim boundary is invalid
statusCode AlTrimBoundary::convertToUVPolyline(
int &n, double *& CVList )
Description
Converts
the trim boundary to a uv polyline. The number of points in the
polyline is returned in "n", and the points are returned in "CVList",
which is essentially an array: CVList[n][2], but must be accessed
as a single dimensional array; for example, CVList[i * 2 + 0] for
u and CVList[i * 2 + 1] for v.
Return Codes
sSuccess - the array
has been allocated, loaded and returned
sFailure - parent does
not exist, n will be 0, and CVList will be NULL
sInvalidObject - the
trim boundary is invalid
AlTrimRegion* AlTrimBoundary::parentRegion()
const
Description
Returns
the parent trim region of the trim boundary.
AlDagNode* AlTrimBoundary::parentDagNode()
const
Description
Returns
the parent DAG node of the trim boundary.
statusCode AlTrimBoundary::applyIteratorToCurves(
AlIterator* iter, int& rc )
Description
Applies an iterator to each trim
boundary curve.
Arguments
< iter - the iterator
to apply
> rc - the return
value of the last application of the iterator
Return Codes
sSuccess - the iterator
was successfully applied to each trim boundary curve
sInvalidArgument - 'iter'
was NULL