AlCurvePoint
 
 
 

Interface to Alias curve points.

Synopsis

#include <AlCurvePoint.h>
class AlCurvePoint : public AlPoint
AlCurvePoint();
~AlCurvePoint();
virtual AlObject *	copyWrapper() const;
virtual AlObjectType	type() const;
statusCode	create(const AlCurve *, double);
statusCode	setParameter(double);
statusCode	parameter(double &) const;
virtual statusCode	worldPosition(double &, double &, double &) const;
statusCode tangent(double &, double &, double &) const;
statusCode	normal1(double &, double &, double &) const;
statusCode	normal2(double &, double &, double &) const;
statusCode	radius(double &) const;
statusCode	arcLength(double &) const;
AlCurveNode	*attachedTo();

Description

A point can be created in the parametric space of any AlCurve. This point can be queried for the curve normals, tangent, position in world coordinate system, arc length, and curvature information. This class contains methods for creating, and moving the curve point.

If the AlCurve is deleted, the curve point created on it is deleted.

AlCurvePoint::AlCurvePoint(void)

Description

Constructs an AlCurvePoint wrapper object.

AlCurvePoint::~AlCurvePoint()

Description

Deletes an AlCurvePoint wrapper object.

AlObject *AlCurvePoint::copyWrapper() const

Description

Returns an exact copy of the AlCurvePoint wrapper.

AlObjectType AlCurvePoint::type() const

Description

Returns the class identifier kCurvePointType.

statusCode AlCurvePoint::create(const AlCurve *curve, double u)

Description

Creates a point on the given curve

Arguments

< curve - the curve on which the point is created.

< u - curve parameter at which point is created

Return Codes

sSuccess - the point was successfully created

sAlreadyCreated - object has already been created

sFailure - the point could not be created on the curve.

sInvalidArgument - the curve is not a valid object

statusCode AlCurvePoint::setParameter(double u)

Description

Move the position of a point created on a curve

Arguments

< u - the parameter on the curve where the point has to be moved.

Return Codes

sSuccess - the point was moved

sInvalidObject - the point is not valid

statusCode AlCurvePoint::parameter(double &u) const

Description

Find the parameter value at which the point is present

Arguments

> u - the curve parameter where point is present

Return Codes

sSuccess - the parameter was found

sInvalidObject - the point is not valid

statusCode AlCurvePoint::worldPosition(double &x, double &y, double &z) const

Description

Find the world coordinates of the curve point

Arguments

> x, y, z - the world coordinates of the curve point

Return Codes

sSuccess - the coordinates were found.

sInvalidObject - the point is not valid

statusCode AlCurvePoint::tangent(double &x, double &y, double &z) const

Description

Find the tangent vector to the curve at the point

Arguments

> x, y, z - the X, Y, Z components of the tangent

Return Codes

sSuccess - the tangent was found.

sInvalidObject - the point is not valid

statusCode AlCurvePoint::normal1(double &x, double &y, double &z) const

Description

Find the normal to the curve at the point

Arguments

> x, y, z - the X, Y, Z components of the normal

Return Codes

sSuccess - the normal was found.

sInvalidObject - the point is not valid

statusCode AlCurvePoint::normal2(double &x, double &y, double &z) const

Description

Find the second normal to the curve at the point

Arguments

> x, y, z - the X, Y, Z components of the second normal normalized vector.

Return Codes

sSuccess - the normal was found.

sInvalidObject - the point is not valid

statusCode AlCurvePoint::radius(double &rad) const

Description

Find the radius of the curve at the point

Arguments

> rad - the radius of the curve at the point.

Return Codes

sSuccess - the radius was found.

sInvalidObject - the point is not valid

statusCode AlCurvePoint::arcLength(double &arcLen) const

Description

Find the length of the curve on which the point is present

Arguments

> arcLen - the length of the curve

Return Codes

sSuccess - the arc length was found.

sInvalidObject - the point is not valid

AlCurveNode *AlCurvePoint::attachedTo()

Description

Returns the curve node that this point is associated with. NULL is returned if this method fails.