Bookshelf Contents Previous Next Glossary Index Search

AlSurfaceLocator

Interface to Alias Surface locators.

Synopsis

#include <AlSurfaceLocator.h>
class AlSurfaceLocator : public AlPointLocator
AlSurfaceLocator();
~AlSurfaceLocator();
virtual AlObject * copyWrapper() const;
virtual AlObjectType type() const;
statusCode create(const AlSurface *, double, double);
statusCode setParameter(double, double);
statusCode parameter(double &, double &) const;
virtual statusCode worldPosition(double &, double &, double &) const;
statusCode uTangent(double &, double &, double &) const;
statusCode vTangent(double &, double &, double &) const;
statusCode normal(double &, double &, double &) const;
statusCode meanRadius(double &) const;
statusCode gaussianRadius(double &) const;
statusCode principalMinimumRadius(double &) const;
statusCode principalMaximumRadius(double &) const;
statusCode uArcLength(double &) const;
statusCode vArcLength(double &) const;

Description

A locator can be created in the parametric space of any AlSurface. This locator can be queried for the surface normal, tangents, position in world coordinate system, arc lengths, and curvatures. This class contains methods for creating, and moving the surface locator.

If the AlSurface is deleted, the surface locator created on it is automatically deleted.

Summary

AlSurfaceLocator::AlSurfaceLocator(void)

Description

Constructs an AlSurfaceLocator wrapper object.

AlSurfaceLocator::~AlSurfaceLocator()

Description

Deletes an AlSurfaceLocator wrapper object.

AlObject *AlSurfaceLocator::copyWrapper() const

Description

Returns an exact copy of the AlSurfaceLocator wrapper.

AlObjectType AlSurfaceLocator::type() const

Description

Returns the class identifier kSurfaceLocatorType.

statusCode AlSurfaceLocator::create(const AlSurface *surface, double u, double v)

Description

Creates a locator on the given surface.

Arguments

< surface - the surface on which the locator is created

< u - surface parameter at which locator is created

< v - surface parameter at which locator is created

Return Codes

sSuccess - the locator was successfully created

sAlreadyCreated - object has already been created

sFailure - failed to create a locator

sInvalidArgument - the surface was not valid

statusCode AlSurfaceLocator::setParameter(double u, double v)

Description

Moves the locator created on a surface.

Arguments

< u, v - the parameters of the surface where the locator has to be moved

Return Codes

sSuccess - the locator was moved

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::parameter(double &u, double &v) const

Description

Finds the surface parameters where the surface locator is located.

Arguments

> u, v - the U and V parameters of the surface

Return Codes

sSuccess - the parameters were found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::worldPosition(double &x, double &y, double &z) const

Description

Finds the world coordinates of the surface locator.

Arguments

> x, y, z - the world coordinates of the surface locator

Return Codes

sSuccess - the coordinates were found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::uTangent(double &x, double &y, double &z) const

Description

Finds the tangent to the surface at the point where the locator is present in the U direction.

Arguments

> x, y, z - the X, Y, Z components of the normalized tangent

Return Codes

sSuccess - the tangent was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::vTangent(double &x, double &y, double &z) const

Description

Finds the tangent to the surface at the point where the locator is present in the V direction.

Arguments

> x, y, z - the X, Y, Z components of the normalized tangent

Return Codes

sSuccess - the tangent was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::normal(double &x, double &y, double &z) const

Description

Finds the normal to the surface at the point where the locator is present.

Arguments

> x, y, z - the X, Y, Z components of the normalized normal

Return Codes

sSuccess - the normal was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::meanRadius(double &meanRad) const

Description

Finds the mean of the principal radii of the surface at a point on which the locator is present.

Arguments

> meanRad - the mean radius of the surface

Return Codes

sSuccess - the mean radius was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::gaussianRadius(double &gausRad) const

Description

Finds the product of the principle radii of the surface at a point on which the locator is present.

Arguments

> gausRad - the gaussian radius of the surface at that point

Return Codes

sSuccess - the gaussian radius was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::principalMinimumRadius(double &pminRad) const

Description

Finds the minimum radius of the curves on surface that pass through the point at which the locator is present.

Arguments

> pminRad - the principal minimum radius of the surface

Return Codes

sSuccess - the radius was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::principalMaximumRadius(double &pmaxRad) const

Description

Finds the maximum radius of the curves on surface that pass through the point at which the locator is present.

Arguments

> pmaxRad - the principal maximum radius of the surface

Return Codes

sSuccess - the radius was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::uArcLength(double &uarcLen) const

Description

Finds the arc length along the U tangent at the point on the surface where the locator is present.

Arguments

> uarcLen - the arc length along the U tangent

Return Codes

sSuccess - the arc length was found

sInvalidObject - the locator is not valid

statusCode AlSurfaceLocator::vArcLength(double &varcLen) const

Description

Finds the arc length along the V tangent at the point on the surface where the locator is present.

Arguments

> varcLen - the arc length along the V tangent

Return Codes

sSuccess - the arc length was found

sInvalidObject - the locator is not valid



Bookshelf Contents Previous Next Glossary Index Search

[email protected]
Copyright © 1998, Alias|Wavefront, a division of Silicon Graphics Limited. All rights reserved.