AlCurveOnSurfacePoint
 
 
 

Interface to Alias curve on surface points.

Synopsis

#include <AlCurveOnSurfacePoint.h>
class AlCurveOnSurfacePoint : public AlPoint
AlCurveOnSurfacePoint();
~AlCurveOnSurfacePoint();
virtual AlObject *	copyWrapper() const;
virtual AlObjectType	type() const;
statusCode	create(const AlCurveOnSurface *, 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	arcLength(double &) const;
AlCurveOnSurface *	attachedTo();

Description

A point can be created in the parametric space of a AlCurveOnSurface. This point can be queried for the curve normals, tangent, and position in world coordinate system. This class contains methods for creating, and moving the point in the parametric space of the curve on surface. If the AlCurveOnSurface or its AlSurface is deleted, the curve on surface point created on it is deleted.

AlCurveOnSurfacePoint::AlCurveOnSurfacePoint(void)

Description

Constructs an AlCurveOnSurfacePoint wrapper object.

AlCurveOnSurfacePoint::~AlCurveOnSurfacePoint()

Description

Deletes an AlCurveOnSurfacePoint wrapper object.

AlObject *AlCurveOnSurfacePoint::copyWrapper() const

Description

Returns an exact copy of the AlCurveOnSurfacePoint wrapper.

statusCode AlCurveOnSurfacePoint::create(const AlCurveOnSurface *curveOnSurface, double u)

Description

Creates a point on the given curve on surface

Arguments

< curveOnSurface - the curve on surface on which the point is to be created.

< u - the parameter at which point is to be 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 on surface.

sInvalidArgument - the curve is not a valid object

statusCode AlCurveOnSurfacePoint::setParameter(double u)

Description

Move the position of a point created on a curve on surface

Arguments

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

Return Codes

sSuccess - the point was moved

sInvalidObject - the point is not valid

statusCode AlCurveOnSurfacePoint::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 AlCurveOnSurfacePoint::worldPosition(double &x, double &y, double &z) const

Description

Find the world coordinates of the point

Arguments

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

Return Codes

sSuccess - the coordinates were found.

sInvalidObject - the point is not valid

statusCode AlCurveOnSurfacePoint::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 AlCurveOnSurfacePoint::normal1(double &x, double &y, double &z) const

Description

Find the normal to the curve on surface 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 AlCurveOnSurfacePoint::normal2(double &x, double &y, double &z) const

Description

Find the second normal to the curve on surface 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 AlCurveOnSurfacePoint::arcLength(double &arcLen) const

Description

Find the length of the curve on surface 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

AlObjectType AlCurveOnSurfacePoint::type() const

Description

Returns the class identifier kCurveOnSurfacePointType.

AlCurveOnSurface * AlCurveOnSurfacePoint::attachedTo()

Description

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