CIvfConstructionPlane Class Reference

#include <ivf/IvfConstructionPlane.h>

Inheritance diagram for CIvfConstructionPlane:

CIvfShape CIvfObject CIvfBase CIvfRefCountBase CIvfRTTIBase List of all members.

Public Member Functions

 CIvfConstructionPlane ()
virtual ~CIvfConstructionPlane ()
 IvfClassInfo ("CIvfConstructionPlane", CIvfShape)
void updateCursor (int x, int y)
void updateSizes ()
void activate ()
void deactivate ()
bool isActive ()
void lockCursor ()
void unlockCursor ()
bool isCursorLocked ()
void enableCursor ()
void disableCursor ()
bool isCursorEnabled ()
void setSize (double width, double height)
void setCamera (CIvfCamera *camera)
virtual void setPosition (const double x, const double y, const double z)
void setRotationQuat (double vx, double vy, double vz, double theta)
void setCursor (CIvfCursor *cursor)
void setRelativeAxisSize (double size)
double getRelativeAxisSize ()
void setRelativeCursorSize (double size)
double getRelativeCursorSize ()
void setUpdateCursorSize (bool flag)
void setUpdateAxisSize (bool flag)
CIvfVec3dgetCursorPosition ()
void getPosition (double &x, double &y, double &z)
CIvfUcs3dgetUcs ()
void setGridSpacing (double spacing)
virtual void updateBoundingSphere ()
CIvfGridgetGrid ()
double getDepth ()
double getWidth ()

Protected Member Functions

virtual void createGeometry ()

Detailed Description

Construction plane class

This class implements a visual coordinate system plane, with a cursor and a grid. The cursor is allways aligned with the defined coordinate system and can also be snapped to a specified grid.

Author:
Jonas Lindemann

Definition at line 47 of file IvfConstructionPlane.h.


Constructor & Destructor Documentation

CIvfConstructionPlane::CIvfConstructionPlane  ) 
 

CIvfConstructionPlane constructor

virtual CIvfConstructionPlane::~CIvfConstructionPlane  )  [virtual]
 

CIvfConstructionPlane destructor


Member Function Documentation

void CIvfConstructionPlane::activate  ) 
 

Sets the construction plane in an active state

In the active state the grid spacing, cursor and axis are visible.

virtual void CIvfConstructionPlane::createGeometry  )  [protected, virtual]
 

Forces an object recalculation.

Reimplemented from CIvfShape.

void CIvfConstructionPlane::deactivate  ) 
 

Sets the construction plane in an inactive state

In the active state the grid spacing, cursor and axis are invisible.

CIvfVec3d& CIvfConstructionPlane::getCursorPosition  ) 
 

Returns the current cursor position in global coordinates

void CIvfConstructionPlane::getPosition double &  x,
double &  y,
double &  z
[virtual]
 

Returns position of construction plane

Reimplemented from CIvfShape.

double CIvfConstructionPlane::getRelativeAxisSize  ) 
 

Return relative axis size

double CIvfConstructionPlane::getRelativeCursorSize  ) 
 

Return relative cursor size

CIvfUcs3d* CIvfConstructionPlane::getUcs  ) 
 

Returns used defined coordinates system

bool CIvfConstructionPlane::isActive  ) 
 

Queries active state

bool CIvfConstructionPlane::isCursorLocked  ) 
 

Queries cursor lock state

void CIvfConstructionPlane::lockCursor  ) 
 

Locks cursor

This method locks cursor movement in the local XZ plane. Enables movement in the local Y direction.

void CIvfConstructionPlane::setCamera CIvfCamera camera  ) 
 

Sets the current camera (required)

The camera is used to map the x/y mouse coordinates to the coordinates on the construction plane.

void CIvfConstructionPlane::setCursor CIvfCursor cursor  ) 
 

Set cursor used

void CIvfConstructionPlane::setGridSpacing double  spacing  ) 
 

Sets grid spacing

virtual void CIvfConstructionPlane::setPosition const double  x,
const double  y,
const double  z
[virtual]
 

Set position of construction plane

Sets the position of the construction plane and the local coordinate system used when calculating 3d coordinates.

Reimplemented from CIvfShape.

void CIvfConstructionPlane::setRelativeAxisSize double  size  ) 
 

Set relative axis size

Parameters:
size - relative axis size calulatied as follows: axis_size = camera_distance * size

void CIvfConstructionPlane::setRelativeCursorSize double  size  ) 
 

Set relative cursor size

Parameters:
size - relative cursor size calulatied as follows: cursor_size = camera_distance * size

void CIvfConstructionPlane::setRotationQuat double  vx,
double  vy,
double  vz,
double  theta
 

Set rotation of construction plane

Sets the rotation of the construction plane and the local coordinate system used when calculating 3d coordinates.

Reimplemented from CIvfShape.

void CIvfConstructionPlane::setSize double  width,
double  height
 

Set size of construction plane in the XZ plane

void CIvfConstructionPlane::setUpdateAxisSize bool  flag  ) 
 

Update cursor flag

Parameters:
flag - true = axis size is updated, when updateSizes() is called.

void CIvfConstructionPlane::setUpdateCursorSize bool  flag  ) 
 

Update cursor flag

Parameters:
flag - true = cursor size is updated, when updateSizes() is called.

void CIvfConstructionPlane::unlockCursor  ) 
 

Unlocks cursor

Movement in the XZ plane is enabled. Movement in the local Y direction is disabled.

virtual void CIvfConstructionPlane::updateBoundingSphere  )  [virtual]
 

Updates bounding sphere for construction plane

Reimplemented from CIvfObject.

void CIvfConstructionPlane::updateCursor int  x,
int  y
 

Updates 3D cursor position

This routine maps the 2D mouse coordinates to 3d coordinates used with the 3D cursor. The routine should be called in response to mouse move events.

Parameters:
x - x position of mouse in current viewport
y - y position of mouse in current viewport

void CIvfConstructionPlane::updateSizes  ) 
 

Updates sizes of axis and cursor objects

To be able to allways see the cursor and axis objects, the sizes can be automatically updated relative to the distance to the camera. This method should be called whenever the camera is moved.


The documentation for this class was generated from the following file:
Generated on Fri Sep 1 15:36:49 2006 for Interactive Visualisation Framework - Ivf++ by  doxygen 1.4.6-NO