AlWindow
 
 
 

Interface to the Alias modeling windows.

Synopsis

#include <AlWindow.h>
class AlWindow 	: public AlObject , public AlAnimatable
enum AlViewType {
	kViewInvalid,
	kViewOther,
	kFront,
	kBack,	/* unused */
	kRight,
	kLeft,	/* unused */
	kTop,
	kBottom,	/* unused */
	kSbd,
	kPerspective
};
enum AlCornerType {
	kBottomLeft,
	kTopLeft,
	kTopRight,
	kBottomRight
};
enum AlAspectType {
	kNoScale,
	kScaleY,
	kScaleX
};
AlWindow();
virtual ~AlWindow();
virtual AlObjectType	type() const;
statusCode	create( AlViewType );
virtual AlObject*	copyWrapper() const;
virtual statusCode	deleteObject();
AlWindow*	next() const;
AlWindow*	prev() const;
statusCode	nextD();
statusCode	prevD();
statusCode	windowType( AlViewType& );
statusCode	isZoom( boolean& );
statusCode isVisible( boolean& );
virtual AlCamera*	camera( void );
virtual statusCode	setCamera( AlPerspectiveCamera* );
statusCode	position( Screencoord&, Screencoord& );
statusCode	setPosition( Screencoord, Screencoord );
statusCode	resolution( Screencoord&, Screencoord& );
statusCode	setResolution( Screencoord, Screencoord, AlCornerType = kTopLeft, AlAspectType = kNoScale );
statusCode priority( int& );
statusCode	setPriority( int );
double	gridSize();
statusCode	setGridSize( double size );
virtual statusCode	mapToWorldSpace( Screencoord, Screencoord, double&, double&, double&, double&, double&, double& );
virtual statusCode	worldSpaceBounds( double&, double&, double&, double&, double&, double& );
static statusCode	aliasWindowSize( int&, int& );
static statusCode	aliasWindowPosition( int&, int& );

Description

Alias modeling windows are the windows in which geometry information is actually viewed and modified. These are the Top, Front, Right and Perspective windows, as well as the SBD window. This class allows the creation, positioning and sizing of windows. You can also get the camera associated with a window. In addition, plug-ins can use the mapping functions to determine where in world space a screen event occurred.

AlUniverse contains methods for getting the first modeling window, the current modeling window, and the SBD window.

AlWindow::AlWindow()

Description

Constructs an AlWindow wrapper object.

AlWindow::~AlWindow()

Description

Deletes an AlWindow wrapper object.

AlObjectType AlWindow::type() const

Description

Returns the class identifier kWindowType.

statusCode AlWindow::create( AlViewType tp )

Description

Creates a window with the specified view type. The possible view types are kFront, kRight, kTop, kPerspective, or kSbd.

Arguments

tp - the view type to create

Return Codes

sSuccess - the window was created

sFailure - the window could not be created

sInvalidArgument - an unknown view type was specified

AlObject* AlWindow::copyWrapper() const

Description

Returns an exact duplicate of this AlWindow wrapper.

statusCode AlWindow::deleteObject()

Description

Deletes the window.

Return Codes

sSuccess - the window was deleted

sFailure - the window was not attached to a layer

sInvalidObject - the window was not valid

AlWindow* AlWindow::next() const

Description

Returns a pointer to the next AlWindow. Otherwise, returns NULL if there is no next window.

AlWindow* AlWindow::prev() const

Description

Returns a pointer to the previous AlWindow. Otherwise, returns NULL if there is no previous window.

statusCode AlWindow::nextD()

Description

Destructively points this wrapper to next window. If there is no such window, the object pointer is unaltered.

Return Codes

sSuccess - the wrapper points to the next window

sFailure - there is no next window

sInvalidObject - the window is invalid

statusCode AlWindow::prevD()

Description

Destructively points this wrapper to the previous window. If there is no such window, the object pointer is unaltered.

Return Codes

sSuccess - the wrapper points to the previous window

sFailure - there is no previous window

sInvalidObject - the window is invalid

statusCode AlWindow::windowType( AlViewType& tp )

Description

Returns the view type of the current window.

Arguments

> tp - the variable to return the view type in

Return Codes

sSuccess - the view type was returned

sInvalidObject - the window is invalid

statusCode AlWindow::isZoom( boolean& b )

Description

Returns TRUE if the window is zoomed.

Arguments

> b - the variable to return the status

Return Codes

sSuccess - the status was returned

sInvalidObject - the window is invalid

statusCode AlWindow::isVisible( boolean& visible )

Description:

Use this method to find out if this window is visible. A window may be hidden by another.

Arguments:

> visible - the variable to return the result

Return Codes:

sSuccess - the status was returned

sInvalidObject - the window is invalid

AlCamera* AlWindow::camera( void )

Description

Returns the effective camera of a modeling window.

This function returns either:

a) its camera if it has one.

b) if the window is a MagnifyWindow, and the parent window has a camera, then that camera.

c) NULL, if the window is null, or we couldn’t find a camera using (a) or (b).

statusCode AlWindow::setCamera( AlPerspectiveCamera* cam )

Description

Sets the window’s camera to the given perspective camera.

Arguments

cam - the perspective camera

Return Codes

sSuccess - the camera was set

sInvalidObject - the window is invalid

sInvalidArgument - the camera is invalid

statusCode AlWindow::position( Screencoord& x, Screencoord& y )

Description

Retrieves the position of a window.

Arguments

x,y - the variables to return the window’s positions in

Return Codes

sSuccess - the position was returned

sInvalidObject - the window is invalid

statusCode AlWindow::setPosition( Screencoord x, Screencoord y )

Description

Sets the position of a window.

Arguments

x,y - the window’s new position

Return Codes

sSuccess - the position was set

sFailure - the window could not be moved

sInvalidObject - the window is invalid

statusCode AlWindow::resolution( Screencoord& x, Screencoord& y )

Description

Retrieves the resolution of a window.

Arguments

x,y - the variables to return the window’s resolution

Return Codes

sSuccess - the resolution was returned

sInvalidObject - the window is invalid

statusCode AlWindow::setResolution( Screencoord x, Screencoord y, AlCornerType c, AlAspectType t )

Description

Sets the resolution of a window.

Arguments

x,y - the window’s new resolution

c - the corner that the window is relative to

t - the scale aspect type (kNoScale, kScaleY, kScaleX)

Return Codes

sSuccess - the position was set

sFailure - the window could not be moved

sInvalidObject - the window is invalid

statusCode AlWindow::priority( int& p )

Description

Retrieves the priority of a window as a number ranging from 1 to 9. If a window’s priority is not contained within a PRIORITYICON, it is implied to be 3.

Arguments

p - the variables to return the window’s priority

Return Codes

sSuccess - the priority was returned

sInvalidObject - the window is invalid

statusCode AlWindow::setPriority( int p )

Description

Sets the priority of a window, as a number of range [1..9]. If priority is out of range, nothing is changed and sFailure is returned.

Arguments

p - the window’s new priority

Return Codes

sSuccess - the priority was set

sFailure - the priority was out of range

sInvalidObject - the window is invalid

statusCode AlWindow::mapToWorldSpace( Screencoord x, Screencoord y,double& rx1, double& ry1, double& rz1,double& rx2, double& ry2, double& rz2 )

Description

Maps a screen pixel (x,y) coordinate pair to world space coordinates (rx1,ry1,rz1)-(rx2,ry2,rz2). This function will always return sFailure in OpenModel.

Arguments

< x,y - the screen position

> rx1,ry1,rz1 - one corner of the mapped area

> rx2,ry2,rz2 - the other corner of the mapped area

Return Codes

sSuccess - the priority was set

sFailure - the priority was out of range

sInvalidObject - the window is invalid

statusCode AlWindow::worldSpaceBounds( double& xmin, double& ymin, double& zmin, double& xmax, double& ymax, double& zmax )

Description

Retrieves the bounding box of the window.

Arguments

> xmin, ymin, zmin - lower corner of the bounding box

> xmax, ymax, zmax - upper corner of the bounding box

Return Codes

sSuccess - the priority was set

sFailure - the priority was out of range

sInvalidObject - the window is invalid

statusCode AlWindow::aliasWindowSize( int& sizex, int& sizey )

Description

Retrieves the size of the window. This function will always return sFailure in OpenModel.

Arguments

> sizex, sizey - the returned size

Return Codes

sSuccess - the size was returned

sFailure - size could not be determined

statusCode AlWindow::aliasWindowPosition( int& posx, int& posy )

Description

Retrieves the position of the window. This function will always return sFailure in OpenModel.

Arguments

> posx, posy - the returned position

Return Codes

sSuccess - the position was returned

sFailure - position could not be determined

double AlWindow::gridSize()

Description

Retrieves the size of the grid in world coordinates.

statusCode AlWindow::setGridSize( double size )

Description

Sets the size of the grid (in world coordinates) of a window.

Arguments

size - the window’s new grid size

Return Codes

sSuccess - the grid size was set

sInvalidObject - the window is invalid