AlSnap
 
 
 

Basic Interface to Alias snapping functions

Synopsis

#include <AlSnap.h>
class AlSnap
static statusCode	toGrid( Screencoord x, Screencoord y, double worldPos[3], AlWindow* window = NULL );
static statusCode	toCV( Screencoord x, Screencoord y, AlObject* &obj, AlWindow *window = NULL );
static statusCode	toCurve( Screencoord x, Screencoord y, AlObject* &obj, double &curveParam, AlWindow *window = NULL );
static int	snappingTo( void );

Description

This class contains various utility functions for doing snapping. You can snap to grids, CVs and curves. When using the toGrid function, the world position returned would be used to translate the object to the correct location. For the CV and curve functions, the world position of the AlObject returned would be used to translate the object to the correct location. The function snappingTo returns either kSnapGrid, kSnapCurve or kSnapCV based on what buttons have been set in the application.

statusCode AlSnap::toGrid( Screencoord x, Screencoord y, double worldPos[3], AlWindow* window )

Description

Snaps a point on the screen to the closest grid intersection. Returns world space coordinates for the closest grid intersection to the specified cursor position.

The grid size is set using the meshSize method in AlWindow.

Arguments

< x, y - the screen position to test

> worldPos - the returned snapped world position

< window - the window to snap it to. Specify NULL to snap to the current window.

Return Codes

sSuccess - everything okay

sObjectNotFound - there was no point in range to snap to

sFailure - snapping failed

sInvalidArgument - the window was invalid (if given)

statusCode AlSnap::toCV( Screencoord x, Screencoord y, AlObject* &obj, AlWindow *window )

Description

Snaps a point on the screen to the closest curve, surface, or CurveOnSurface CV.

Arguments

< x, y - the screen position to test

> *obj - the returned snapped object

< window - the window to snap it to. Specify NULL to snap to the current window.

Return Codes

sSuccess - everything okay

sObjectNotFound - there was no point in range to snap to

sInsufficientMemory - not enough memory available

sFailure - could not complete request.

statusCode AlSnap::toCurve( Screencoord x, Screencoord y, AlObject* &obj, double &curveParam, AlWindow *window )

Description

Snaps a point on the screen to the closest curve intersection.

Arguments

< x, y - the screen position to test

> *obj - the returned snapped object

> curveParam - the parameter position on the curve

< window - the window to snap it to. Specify NULL to snap to the current window.

Return Codes

sSuccess - everything okay

sObjectNotFound - there was no point in range to snap to

sInsufficientMemory - not enough memory available

sFailure - could not complete request

int AlSnap::snappingTo( void )

Description

Returns the snap setting currently selected within the application.

Return Codes

kSnapGrid - Alias has grid snapping on

kSnapCV - Alias has CV snapping on

kSnapCurve- Alias has curve snapping on

NOTE: return values will be OR’ed together if more than one of the snapping functions is on.