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.