Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpConstructCuboid Class Reference

The HOpConstructCuboid class creates a rectangular cube. More...

#include <HOpConstructCuboid.h>

List of all members.

Public Member Functions

HBaseOperatorClone ()
virtual void CreateCuboid (HPoint const &last)
virtual void CreateSquare (HPoint const &first, HPoint const &last)
virtual const char * GetName ()
 HOpConstructCuboid (HBaseView *view, int DoRepeat=0, int DoCapture=1)
virtual int OnLButtonDown (HEventInfo &hevent)
virtual int OnLButtonDownAndMove (HEventInfo &hevent)
virtual int OnLButtonUp (HEventInfo &hevent)
virtual int OnNoButtonDownAndMove (HEventInfo &hevent)

Protected Attributes

int m_FaceList [30]
HPoint m_ptEdge
HPoint m_ptPointList [8]

Detailed Description

The HOpConstructCuboid class creates a rectangular cube.

HOpConstructCuboid implements four of the mouse event handlers defined on the base class and uses the event information to create a cuboid. This provides the basic functionality for creating a temporary three-dimensional, six-sided cuboid or rectangular box. The cuboid that is generated includes two square faces with the same length and width while the depth is variable. The operation consists of the following steps:

  1. Left Button Down: The first point of square base.
  2. Left Button Down and Drag: Rubberband the base to the desired dimensions.
  3. Left Button Up: The base of the cuboid dimension is finalized.
  4. No Button Down and Drag: Rubberband the cuboid to the desired height.
  5. Left Button Down: The height of the cuboid finalized and the operation ends.

More Detailed Description: see event methods.


Constructor & Destructor Documentation

HOpConstructCuboid::HOpConstructCuboid ( HBaseView view,
int  DoRepeat = 0,
int  DoCapture = 1 
)

Constructs an HOpConstructCuboid object.

Parameters:
viewA pointer to an HBaseView object.
DoRepeatAn integer denoting whether this is a repeatable operator. This parameter has been deprecated.
DoCaptureAn integer denoting whether the mouse state should be captured, which means that all mouse events should be received after a mousedown, even if it leaves the window. This parameter has been deprecated.

Member Function Documentation

HBaseOperator* HOpConstructCuboid::Clone ( ) [virtual]

Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.

Returns:
A pointer to the newly created HOpConstructCuboid object.

Reimplemented from HBaseOperator.

Reimplemented in HOpCreateCuboid.

virtual void HOpConstructCuboid::CreateCuboid ( HPoint const &  last) [virtual]

CreateCuboid constructs the point list from the first, edge and last point and then maps these screen coordinates generated by the event handlers into world coordinates, so that the points can be directed into a call to HC_Insert_Shell. This function is called internally by OnLButtonDown and OnNoButtonDownAndMove.

Parameters:
&lastA pointer to an HPoint object.
virtual void HOpConstructCuboid::CreateSquare ( HPoint const &  first,
HPoint const &  last 
) [virtual]

CreateSquare creates a square that is orthogonal to camera target plane. This function is called internally by OnLButtonDownAndMove and OnLButtonUp.

Parameters:
&firstAn HPoint object.
&lastAn HPoint object.
virtual const char* HOpConstructCuboid::GetName ( ) [virtual]
Returns:
A pointer to a character string denoting the name of the operator, which is 'HOpConstructCuboid'.

Reimplemented from HBaseOperator.

Reimplemented in HOpCreateCuboid.

virtual int HOpConstructCuboid::OnLButtonDown ( HEventInfo hevent) [virtual]

OnLButtonDown records the first mouse position and initiates the cuboid-drawing mechanism. It tests for the case that the mechanism has already been started such as OnLButtonDown has been called once already. In this case, OnLButtonDown finalizes the cuboid's depth, removes the geometry from the scene, updates the display and ends the operation.

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

Reimplemented in HOpCreateCuboid.

virtual int HOpConstructCuboid::OnLButtonDownAndMove ( HEventInfo hevent) [virtual]

OnLButtonDownAndMove accepts the initiating point from OnLButtonDown and rubberbands a square for the desired size of the cuboid's base.

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpConstructCuboid::OnLButtonUp ( HEventInfo hevent) [virtual]

OnLButtonUp finalizes the size of the cuboid's square base.

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpConstructCuboid::OnNoButtonDownAndMove ( HEventInfo hevent) [virtual]

OnNoButtonDownAndMove uses a rubberband to set the desired depth of the cuboid.

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.


Member Data Documentation

int HOpConstructCuboid::m_FaceList[30] [protected]

The facelist for the shell.

The edge of the cube.

The array of points for cuboid shell.


The documentation for this class was generated from the following file: