Interface to Alias construction planes.
Synopsis
#include <AlConstructionPlane.h>
class AlConstructionPlane : public AlConstructionEntity
AlConstructionPlane();
virtual ~AlConstructionPlane();
virtual AlObject* copyWrapper() const;
virtual AlObjectType type() const;
statusCode create( AlPoint *, AlPoint *, AlPoint * );
statusCode create( AlPoint *, AlPoint *, double[3] );
statusCode create( double[3], double[3], double[3]);
AlPoint * first();
AlPoint * second();
AlPoint * third();
statusCode scale( double&, double& );
statusCode setScale( double, double );
statusCode rotate( double&, double&, double& );
statusCode translate( double&, double&, double& );
statusCode transformationMatrix( double[4][4] );
statusCode origin( double&, double&, double& );
statusCode axes( double[3], double[3], double[3] );
Description
This class provides functionality for creating, manipulating and querying Alias construction planes. Construction planes can be specified several ways.
- 3 Points - The first 2 points specify the X axis. The first and last points specify a line that is used in the cross product
with the x axis to provide the Z axis. Once the Z is known, the Y axis is calculated internally.
- 2 points and a normal - The first 2 points specify the X axis. The normal is the Z axis to the plane.
- 2 points in the form of doubles and a normal. The first 2 points specify the X axis. The normal is the Z axis to the plane.
This class provides access to the points used to create the construction plane (end may be NULL depending on the specification),
transformation and axes information.
AlConstructionPlane::AlConstructionPlane()
Description
Null constructor.
AlConstructionPlane::~AlConstructionPlane()
Description
Null destructor.
AlObject *AlConstructionPlane::copyWrapper() const
Description
Returns an exact copy of the generic wrapper.
statusCode AlConstructionPlane::create( AlPoint *first, AlPoint *second, AlPoint *third )
Description
Create a construction plane specified by 3 points. The first 2 points specific the X axis. The first and last point specify
a line that is used in the cross product with the X axis to calculate the Z axis.
Return Codes
sSuccess - the construction plane was created
sFailure - the method failed
sInvalidArgument - first, second, or third are either NULL or invalid or at least 2 point to the same Alias object
sAlreadyCreated - object is already created
statusCode AlConstructionPlane::create( AlPoint *first, AlPoint *second, double normal[3] )
Description
Create a construction plane with 2 points that specify the X axis and a normal (Z axis).
Return Codes
sSuccess - the construction plane was created
sFailure - the method failed
sAlreadyCreated - object already created
sInvalidArgument - one of first, second or normal is NULL, or first and second are NULL or equal
statusCode AlConstructionPlane::create( double[3] first, double[3] second, double[3] normal)
Description
Create a construction plane with 2 points that specify the X axis and a normal (Z axis).
Return Codes
sSuccess - the construction plane was created
sFailure - the method failed
sAlreadyCreated - object already created
sInvalidArgument - one of first, second or normal is NULL, or first and second are NULL or equal
AlPoint *AlConstructionPlane::first()
Description
Returns the first point of the construction plane. NULL is returned if the method failed.
AlPoint *AlConstructionPlane::second()
Description
Returns the second point of the construction plane. NULL is returned if the method failed.
AlPoint *AlConstructionPlane::third()
Description
Returns the third point of the construction plane. NULL is returned if the method failed or if the construction plane was
not specified by 3 points.
AlObjectType AlConstructionPlane::type() const
Description
Returns the class identifier kConstructionPlaneType.
statusCode AlConstructionPlane::scale( double& x, double& y )
Description
Returns the current scale of the construction plane. Planes only have an x,y scale.
Arguments
> x,y - the scale in x,y
Return Codes
sSuccess - the scale was found
sFailure - the method failed
sInvalidObject - the object is invalid
statusCode AlConstructionPlane::rotate( double& x, double& y, double& z )
Description
Returns the rotation of the construction plane.
Arguments
> x,y,z - the rotation
Return Codes
sSuccess - the rotation was found
sFailure - the method failed
sInvalidObject - the object is invalid
statusCode AlConstructionPlane::translate( double&, double&, double& )
Description
Returns the translation of the construction plane.
Arguments
> x,y,z - the translation
Return Codes
sSuccess - the translation was found
sFailure - the method failed
sInvalidObject - the object is invalid
statusCode AlConstructionPlane::setScale( double x, double y )
Description
Sets the scale for the construction plane.
Return Codes
sSuccess - the scale was set
sFailure - the method failed
sInvalidObject - the object is invalid
statusCode AlConstructionPlane::transformationMatrix( double matrix[4][4] )
Description
Returns the transformation matrix of the construction plane.
Arguments
> matrix - the matrix
Return Codes
sSuccess - the transformation matrix was returned
sFailure - the method failed
sInvalidObject - the object is invalid
statusCode AlConstructionPlane::origin( double& x, double& y, double& z )
Description
Returns the origin for the construction plane.
Arguments
> x,y,z - the origin
Return Codes
sSuccess - the origin was returned
sFailure - the method failed
sInvalidObject - the object is invalid
statusCode AlConstructionPlane::axes( double x[3], double y[3], double z[3] )
Description
Returns the x,y,z axes for the construction plane.
Arguments
> x,y,z - the axes found
Return Codes
sSuccess - the axes were returned
sFailure - the method failed
sInvalidArgument - x,y or z is NULL
sInvalidObject - the object is invalid