# IWorkingBox Struct Reference
[External Interfaces]

Inheritance diagram for IWorkingBox:

List of all members.

## Public Member Functions
virtual void MCCOMAPI | SetTransform (const TTransform3D &inTransform)=0
virtual TTransform3D &MCCOMAPI | GetTransform ()=0
virtual void MCCOMAPI | SetBoundingBox (const TBBox3D &inBBox)=0
virtual void MCCOMAPI | GetBoundingBox (TBBox3D &outBBox)=0
virtual void MCCOMAPI | GetPlane (uint16 inIndex, IWorkingBoxPlane **outWorkingBoxPlane)=0
virtual uint16 MCCOMAPI | GetCurrentPlane ()=0
virtual void MCCOMAPI | SetCurrentPlane (uint16 inCurrentPlaneIndex)=0
virtual void MCCOMAPI | AddRenderables (TRenderableAndTfmArray &outRenderables)=0
virtual void MCCOMAPI | InvalidateRenderables ()=0
virtual void MCCOMAPI | Set3DCursorMode (boolean value)=0
virtual boolean MCCOMAPI | Get3DCursorMode ()=0
virtual void MCCOMAPI | Get3DCursorPosition (TVector3 &position)=0
virtual void MCCOMAPI | Set3DCursorPosition (const TVector3 &position)=0
virtual void MCCOMAPI | GetWBCenter (TVector3 &position)=0
virtual void MCCOMAPI | SetWBCenter (const TVector3 &position)=0
virtual void MCCOMAPI | SetGlobalGrid (boolean value)=0
virtual boolean MCCOMAPI | GetGlobalGrid ()=0
virtual void MCCOMAPI | CustomFeature (int16 feature, boolean value)=0
virtual void MCCOMAPI | SetHideGridOnGroundPlane (boolean hideGridOnGroundPlane)=0

## Detailed Description

A Working Box is a 3D Box with a 3D Transform in global space.

The Working Box maintains 6 Working Box Planes which correspond to the walls of the working box, plus extra ones that you can use as you wish (they are hidden by default). Access these working box planes to get a transform pipeline for moving to and from the plane projected space.

The Working Box maintains renderables which can be handed to the renderer for rendering

Each Plane has an index number, and the planes are set up this way by default :

    ///           _
    ///          /|\
    ///         / | \          Bottom PLane is #0
    ///        /  |  \         Right Plane is #1
    ///       | 2 | 1 |        Left Plane is #2
    ///       |  / \  |        Extra Plane (not shown) is #3
    ///       | /   \ |
    ///       |/     \|        Use the constants defined above.
    ///        \  0  /
    ///         \   /
    ///          \_/
    ///kWBXDrawPlane is parallel to plane 1
    ///kWBYDrawPlane is parallel to plane 2
    ///kWBZDrawPlane is parallel to plane 0
    ///

Note that kWBExtraPlane and kWBYDrawPlane are one and the same plane

## Member Function Documentation

virtual void MCCOMAPI IWorkingBox::AddRenderables | ( | TRenderableAndTfmArray & | outRenderables | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::CustomFeature | ( | int16 | feature,
|  | boolean | value |
| ) |  |  | `[pure virtual]`

virtual boolean MCCOMAPI IWorkingBox::Get3DCursorMode | ( |  | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::Get3DCursorPosition | ( | TVector3 & | position | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::GetBoundingBox | ( | TBBox3D & | outBBox | ) | `[pure virtual]`

virtual uint16 MCCOMAPI IWorkingBox::GetCurrentPlane | ( |  | ) | `[pure virtual]`

virtual boolean MCCOMAPI IWorkingBox::GetGlobalGrid | ( |  | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::GetPlane | ( | uint16 | inIndex,
|  | IWorkingBoxPlane ** | outWorkingBoxPlane |
| ) |  |  | `[pure virtual]`

virtual TTransform3D& MCCOMAPI IWorkingBox::GetTransform | ( |  | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::GetWBCenter | ( | TVector3 & | position | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::InvalidateRenderables | ( |  | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::Set3DCursorMode | ( | boolean | value | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::Set3DCursorPosition | ( | const TVector3 & | position | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::SetBoundingBox | ( | const TBBox3D & | inBBox | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::SetCurrentPlane | ( | uint16 | inCurrentPlaneIndex | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::SetGlobalGrid | ( | boolean | value | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::SetHideGridOnGroundPlane | ( | boolean | hideGridOnGroundPlane | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::SetTransform | ( | const TTransform3D & | inTransform | ) | `[pure virtual]`

virtual void MCCOMAPI IWorkingBox::SetWBCenter | ( | const TVector3 & | position | ) | `[pure virtual]`

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

- IWorkingBox.h