Interface to Alias blend points.
#include <AlBlendPoint.h> class AlBlendPoint : public AlObject enum AlConstraintContinuityType { kG0, kG1, kG2, kG3, kG4 }; enum AlCurvatureType { kGeometricCurv, kParametric }; enum AlInterpolationDirectionType { kLocation, kWorldSpace, kGeometricInterp }; enum AlDirectionType { kRay, kParallel }; AlBlendPoint(); virtual ~AlBlendPoint(); virtual statusCode deleteObject(); virtual AlObject* copyWrapper() const; virtual AlObjectType type() const; statusCode setPoint( double , double , double ); statusCode point( double& , double& , double& ); statusCode param( double& ); statusCode tangent( double&, double&, double& ); statusCode setTangent( double, double, double ); statusCode interpolationDirectionType( AlInterpolationDirectionType& ); statusCode setInterpolationDirectionType( AlInterpolationDirectionType ); statusCode directionType( AlDirectionType& ); statusCode setDirectionType( AlDirectionType ); statusCode curvatureType( AlCurvatureType& ); statusCode setCurvatureType( AlCurvatureType ); statusCode constraintContinuityType( AlConstraintContinuityType& ); statusCode setConstraintContinuityType( AlConstraintContinuityType ); statusCode attachConstraint( AlSurface *, double, double ); statusCode attachConstraint( AlCurve *, double ); statusCode attachConstraint( AlCurveOnSurface *, double ); statusCode disassociateConstraint(); statusCode attachedTo( AlObject *&, double&, double& ); boolean isSlave(); statusCode makeMaster(); AlBlendCurve* blendCurve(); AlBlendPoint* next(); statusCode nextD( AlBlendPoint * ); AlBlendPoint* prev(); statusCode prevD( AlBlendPoint * );
Alias Blend Curves contain Alias Blend Points. Blend Points have constraints and curvature types as described in the Alias manuals. Methods for getting and setting the tangency, position, constraint continuity and the geometry the point is associated with are included.
Notes:
Null constructor.
Null destructor.
This method deletes a blend point on a blend curve. If there are two blend points left on the curve and one of them is deleted, the blend curve will also be deleted.
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the object was invalid
Returns an exact copy of the blend point wrapper. NULL is returned if the method fails.
Returns the class identifier kBlendPointType.
Set the world space location of the blend point. If this curve is associated with geometry then that association is removed.
< x,y,z - new world space location for the blend point.
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
Returns the world space location of the blend point
> x,y,z - world space location of the point
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
Return the param or ’t’ value of this point on the curve.
Note: this value will change as the Blend Curve is modified.
> param - the param value of this point
sSuccess - the method succeeded
sFailure - internal failure,
sInvalidObject - the blend point is invalid
Returns the tangent information for the blend point. This method will only work if this blend point has a world space or geometric interpolation direction.
> x,y,z - the tangent of the blend point
sSuccess - the method succeeded
sFailure - internal failure,
sInvalidObject - the blend point is invalid
sInvalidArgument - cannot ask for tangent information since the point does not have world space or geometric interpolation set
Sets the tangent for the blend point. This method will only work if this blend point has a world space or geometric interpolation direction.
< x,y,z - the new tangent for the point
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - cannot set tangent information since the point is not using world space or geometric interpolation or the tangent vector did not have a direction (0, 0 0).
Returns the type of constraint continuity that is being used by this blend point. This method works only if we are using location or geometric interpolation directions at this point.
> cc - constraint continuity of the blend curve
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - the blend point is not using location
or geometric interpolation directions
Sets the type of constraint continuity of this blend point. This method works only if we are using location or geometric interpolation directions at this point.
< cc - constraint continuity of the blend curve
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - the blend point is not using location or geometric interpolation directions
Returns the interpolation direction of the blend point.
> id - interpolation direction of the blend point
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
Sets the interpolation direction of the blend point.
< id - interpolation direction of the blend point
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
Returns the direction type that is being used by this blend point. This method works only if we are using world space or geometric interpolation directions at this point.
> dt - the blend point’s direction type
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - the blend point is not using world space or geometric interpolation directions
Sets the direction type of this blend point. This method works only if we are using world space or geometric interpolation directions at this point.
< dt - the blend point’s direction type
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - the blend point is not using world space or geometric interpolation directions
Returns the curvature type that is being used by this blend point. This method works only if we are using geometric interpolations of geometry and we are attached to a surface with G2 or greater continuity at this point.
> ct - the blend point’s direction type
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - the blend point is not using geometric interpolations of geometry and is not attached to a surface with G2 or greater continuity.
Sets the curvature type that is being used by this blend point. This method works only if we are using geometric interpolations of geometry and we are attached to a surface with G2 or greater continuity at this point.
> ct - the blend point’s direction type
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - the blend point is not using geometric interpolations of geometry and is not attached to a surface with G2 or greater continuity.
Attaches this blend point as a constraint to a surface.
< surface - the surface to attach to
< u,v - position on surface to attach to
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - surface is NULL, or surface is invalid, or u,v is invalid for the surface.
Attaches this blend point as a constraint to a curve. To attach a blend curve to another, pass the resulting curve of the second blend curve into this method. Note: this method will fail if the AlCurve of the AlBlendCurve of this AlBlendPoint is passed in as an argument.
< curve - the surface to attach to
< t - position on curve to attach to
sSuccess - the method succeeded
sFailure - internal failure, or tried to attach point
to its own curve
sInvalidObject - the blend point is invalid
sInvalidArgument - curve is NULL, or curve is invalid, or t is invalid for the curve.
Attaches this blend point as a constraint to a curve on surface.
< cos - the curve on surface to attach to
< t - position on curve on surface to attach to
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
sInvalidArgument - curve on surface is NULL, or curve on surface is invalid, or t is invalid for the surface.
Disassociates the blend point from geometry it is attached to. The position of the blend curve is not changed by this method
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
Returns the object and point of attachment parameterization value.
> obj - the object the blend point is attached to. > p1, p2 - if the object is a surface, both p1 and p2 is set to the u, v values of the point of attachment. If the object is a curve or curve on surface, p1 is set to the ’t’ value of the point of attachment to the curve and p2 is unused and set to 0.
sSuccess - the method succeeded
sFailure - internal failure
sInvalidObject - the blend point is invalid
Returns TRUE if this is a slave point.
If the current point is a slave, this method will make it a master.
sSuccess - the method succeeded
sFailure - internal failure or point is already a master
sInvalidObject - the blend point is invalid
Returns the blend curve this point is associated with.
Returns the next blend point in the blend curve.
Destructive method for returning the next blend point on the curve. sFailure is returned if there is no next blend point on the curve.
< blendPoint - the blend point to obtain the next blend point from
sSuccess - the method worked
sFailure - the method failed, could be due to there being no next blend point
sInvalidObject - this blend point is invalid
Returns the previous blend point in the blend curve.
Destructive method for returning the previous blend point on the curve. sFailure is returned if there is no previous blend point on the curve.
< blendPoint - the blend point to obtain the previous blend point from
sSuccess - the method worked
sFailure - the method failed, could be due to there being no previous blend point
sInvalidObject - this blend point is invalid