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.