AlTrimBoundary
 
 
 

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