Bookshelf Contents Previous Next Glossary Index Search

AlIntersect

Support for intersection of objects.

Synopsis

#include <AlIntersect.h>
class AlIntersect
static statusCode intersect( AlCurve*, AlCurve*, AlList* & );
static statusCode intersect( AlCurve*, AlSurface*, AlList* & );
static statusCode intersect( AlSurface*, AlSurface*, AlIntersectSurfSurfInfo& );
class AlIntersectCurveCurveInfo : public AlLinkItem
AlIntersectCurveCurveInfo* nextItem() const;
AlIntersectCurveCurveInfo* prevItem() const;
double tCurve1, tCurve2;
double point[3];
class AlIntersectCurveSurfInfo : public AlLinkItem
AlIntersectCurveSurfInfo* nextItem() const;
AlIntersectCurveSurfInfo* prevItem() const;
double t;
double pointOnCurve[3];
double u,v;
double pointOnSurface[3];
class AlIntersectSurfSurfInfo
~AlIntersectSurfSurfInfo();
int numberIsolatedPoints;
double3* isolatedPoints;
int numberIntersectionCurves;
AlCurve** intersectionCurves;
int numberBoundaryCurves;
AlCurve** boundaryCurves;

Description

This collection of classes provides the programmer with the ability to determine points of intersection between two curves, a curve and a surface, or two surfaces.

Each type of intersection responds with its own class of results: AlIntersectCurveCurveInfo, AlIntersectCurveSurfInfo, and AlIntersectSurfSurfInfo. The first two of these are simple AlList classes. The last one is a stucture storing pointers to AlCurves and (x/y/z) points.

Summary

AlIntersectCurveCurveInfo* AlIntersectCurveCurveInfo::nextItem() const

Description

Returns the next item in the AlIntersectCurveCurveInfo list.

AlIntersectCurveCurveInfo* AlIntersectCurveCurveInfo::prevItem() const

Description

Returns the previous item in the AlIntersectCurveCurveInfo list.

AlIntersectCurveSurfInfo* AlIntersectCurveSurfInfo::nextItem() const

Description

Returns the next item in the AlIntersectCurveSurfInfo list.

AlIntersectCurveSurfInfo* AlIntersectCurveSurfInfo::prevItem() const

Description

Returns the previous item in the AlIntersectCurveSurfInfo list.

AlIntersectSurfSurfInfo::~AlIntersectSurfSurfInfo()

Description

Destructor for AlIntersectSurfSurfInfo. Only deletes the isolatedPoints[] array, so that the user may choose which AlCurves to keep.

statusCode AlIntersect::intersect( AlCurve* curve, AlSurface* surface,AlList* &list )

Description

Intersects a curve with a surface. Points of intersection are returned in a AlIntersectCurveSurfInfo list, giving (x,y,z) coordinates, (u,v) parameters, and (t) parameters.

Arguments

< curve - a valid AlCurve to intersect

< surface - a valid surface to intersect

> list - the points of intersection (see AlIntersectCurveSurfInfo)

Return Codes

sSuccess - successful intersection (not necessarily any points of intersection)

sInvalidArgument - the curve/surface was invalid

sFailure - the intersection failed

statusCode AlIntersect::intersect( AlCurve* curve1, AlCurve* curve2,AlList* &list )

Description

Intersects a curve with another curve. Points of intersection are returned in a AlIntersectCurveCurveInfo list, giving (x,y,z) coordinates and (t) parameters.

Arguments

< curve1 - a valid AlCurve to intersect

< curve2 - a valid AlCurve to intersect

> list - the points of intersection (see AlIntersectCurveCurveInfo)

Return Codes

sSuccess - successful intersection (not necessarily any points of intersection)

sInvalidArgument - a curve was invalid

sFailure - the intersection failed

statusCode AlIntersect::intersect( AlSurface* surface1, AlSurface* surface2,AlIntersectSurfSurfInfo &ss )

Description

Intersects a surface with another surface. Points of intersection are returned in a AlIntersectSurfSurf list, giving AlCurves and (x,y,z) points.

Arguments

< surface1 - a valid AlCurve to intersect

< surface2 - a valid AlCurve to intersect

> ss - the points of intersection (see AlIntersectSurfSurfInfo)

Return Codes

sSuccess - successful intersection (not necessarily any points of intersection)

sInsufficientMemory - not enough memory to perform intersection

sInvalidArgument - a surface was invalid

sFailure - the intersection failed



Bookshelf Contents Previous Next Glossary Index Search

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