AlAnnotationLocator
 
 
 

Displays a text string for existing locators

Synopsis

#include <AlAnnotationLocator.h>
class AlAnnotationLocator : public AlLocator
	AlAnnotationLocator();
virtual	~AlAnnotationLocator();
virtual AlObject *	copyWrapper() const;
virtual AlObjectType	type() const;
statusCode	create(const AlPointLocator *, const char *, double, double, double);
statusCode	setString(const char *);
statusCode	setWorldLeaderPosition(double x = 0.0, double y = 0.0, double z = 0.0);
statusCode	setLocalLeaderPosition(double x = 0.0, double y = 0.0, double z = 0.0);
statusCode setLeftJustify(boolean);
const char *	string() const;
statusCode	worldLeaderPosition(double &, double &, double &) const;
statusCode	localLeaderPosition(double &, double &, double &) const;
statusCode leftJustify(boolean &) const;

Description

This class creates an annotation to existing point locators (for example, the space locator, curve locator, curve on surface locator, and surface locator). An annotation is a line of text and a leader (line with arrow) that is drawn relative to a locator (point type).

To create an annotation locator, first create a point locator and then attach the annotation string through this class using its create method. There are also methods to manipulate the position and starting point of the leader line for the annotation.

AlAnnotationLocator::AlAnnotationLocator(void)

Description

Constructs an AlAnnotationLocator wrapper object.

AlAnnotationLocator::~AlAnnotationLocator()

Description

Deletes an AlAnnotationLocator wrapper object.

AlObject *AlAnnotationLocator::copyWrapper() const

Description

Returns an exact copy of the AlAnnotationLocator wrapper.

AlObjectType AlAnnotationLocator::type() const

Description

Returns the class identifier kAnnotationLocatorType.

statusCode AlAnnotationLocator::create(const AlPointLocator *pointLocator, const char *string, double x, double y, double z)

Description

Creates an annotation locator on another point locator.

Arguments

> pointLocator - The AlPointLocator on which the annotation locator is created. The pointLocator should be created before creating the annotation locator.

> string - The string to be displayed in the annotation.

> x, y, z - The coordinates relative to the point locator on which annotation depends, at which the leader line of the text starts.

Return Codes

sSuccess - the text change was successful

sAlreadyCreated - the annotation locator was created already

sInvalidArgument - the point locator has not been created, or the string argument is NULL

sFailure - the method failed to create an annotation locator

statusCode AlAnnotationLocator::setString(const char *string)

Description

Changes the string in an annotation locator.

Arguments

< string - the string to substitute in the present annotation locator

Return Codes

sSuccess - the text change was successful

sInvalidObject - the object is not valid

sInsufficientMemory - there was not enough memory to create a copy of the string

sInvalidArgument - a NULL argument was supplied

const char *AlAnnotationLocator::string() const

Description

Returns a pointer to the annotation string.

Return Codes

NULL - if the annotation locator is not valid, or the string is NULL

statusCode AlAnnotationLocator::setWorldLeaderPosition(double x, double y, double z)

Description

Sets the position of the annotation leader line in world coordinates.

Arguments

> x, y, z - the world coordinates at which the leader line starts

Return Codes

sInvalidObject - the object is not valid

sSuccess - change was successful

statusCode AlAnnotationLocator::setLocalLeaderPosition(double x, double y, double z)

Description

Sets the position of the annotation leader line, relative to the point locator on which the annotation locator is created.

Arguments

> x, y, z - the local coordinates at which the leader line starts

Return Codes

sInvalidObject - the object is not valid

sSuccess - change was successful

statusCode AlAnnotationLocator::setLeftJustify(boolean leftJustify)

Description

Sets the justification of the annotation text for the annotation locator. The text can be right justified or left justified.

Arguments

< leftJustify - a value of true left-justifies the text; a value of false right-justifies it.

Return Codes

sSuccess - the setting was successful

sInvalidObject - the object is not valid

statusCode AlAnnotationLocator::worldLeaderPosition(double &x, double &y, double &z) const

Description

Gets the position of the annotation leader line in world coordinates.

Arguments

< x, y, z - the world coordinates at which the leader line starts

Return Codes

sInvalidObject - the object is not valid

sSuccess - the change was successful

statusCode AlAnnotationLocator::localLeaderPosition(double &x, double &y, double &z) const

Description

Gets the position of the annotation leader line, relative to the point locator on which the annotation locator is created.

Arguments

< x, y, z - the local coordinates at which the leader line starts.

Return Codes

sInvalidObject - the object is not valid

sSuccess - the change was successful

statusCode AlAnnotationLocator::leftJustify(boolean &leftJustify) const

Description

Determines whether the annotation text is left-justified or right-justified.

Arguments

> leftJustify - a value of true indicates that it is left-justified; false indicates right-justification

Return Codes

sSuccess - the justification was found

sInvalidObject - the object is not valid