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