WorldEditor Class Reference

#include <worldEditor.h>

Inheritance diagram for WorldEditor:

Inheritance graph
[legend]
List of all members.

Public Types

 DropAtOrigin = 0
 DropAtCamera
 DropAtCameraWithRot
 DropBelowCamera
 DropAtScreenCenter
 DropAtCentroid
 DropToGround
enum  {
  DropAtOrigin = 0,
  DropAtCamera,
  DropAtCameraWithRot,
  DropBelowCamera,
  DropAtScreenCenter,
  DropAtCentroid,
  DropToGround
}

Public Member Functions

void ignoreObjClass (U32 argc, const char **argv)
void clearIgnoreList ()
void undo ()
void redo ()
void clearSelection ()
void selectObject (const char *obj)
void unselectObject (const char *obj)
S32 getSelectionSize ()
S32 getSelectObject (S32 index)
const Point3FgetSelectionCentroid ()
const char * getSelectionCentroidText ()
const Box3FgetSelectionBounds ()
void dropCurrentSelection ()
void deleteCurrentSelection ()
void copyCurrentSelection ()
bool canPasteSelection ()
bool alignByBounds (S32 boundsAxis)
bool alignByAxis (S32 axis)
void resetSelectedRotation ()
void resetSelectedScale ()
const char * getMode ()
bool setMode (const char *mode)
void addUndoState ()
void redirectConsole (S32 objID)
bool deleteSelection (Selection &sel)
bool copySelection (Selection &sel)
bool pasteSelection (bool dropSel=true)
void dropSelection (Selection &sel)
void dropToGround (Selection &sel, bool hitOnly, const Point3F &centroid, bool useBottomBounds=false)
void hideSelection (bool hide)
void lockSelection (bool lock)
bool objClassIgnored (const SceneObject *obj)
void renderObjectBox (SceneObject *obj, const ColorI &col)
 WorldEditor ()
 ~WorldEditor ()
bool onAdd ()
 Called when this object is added to the scene.
void onEditorEnable ()
 Called when the editor is activated.
void setDirty ()
void on3DMouseMove (const Gui3DMouseEvent &event)
void on3DMouseDown (const Gui3DMouseEvent &event)
void on3DMouseUp (const Gui3DMouseEvent &event)
void on3DMouseDragged (const Gui3DMouseEvent &event)
void on3DMouseEnter (const Gui3DMouseEvent &event)
void on3DMouseLeave (const Gui3DMouseEvent &event)
void on3DRightMouseDown (const Gui3DMouseEvent &event)
void on3DRightMouseUp (const Gui3DMouseEvent &event)
void updateGuiInfo ()
void renderScene (const RectI &updateRect)
 DECLARE_CONOBJECT (WorldEditor)

Static Public Member Functions

static SceneObjectgetClientObj (SceneObject *)
static void setClientObjInfo (SceneObject *, const MatrixF &, const VectorF &)
static void updateClientTransforms (Selection &)
static void initPersistFields ()
 Register dynamic fields in a subclass of ConsoleObject.

Public Attributes

Vector< StreamedObjectmStreamBufs
bool mPlanarMovement
S32 mUndoLimit
S32 mDropType
F32 mProjectDistance
bool mBoundingBoxCollision
bool mRenderPlane
bool mRenderPlaneHashes
ColorI mGridColor
F32 mPlaneDim
Point3F mGridSize
bool mRenderPopupBackground
ColorI mPopupBackgroundColor
ColorI mPopupTextColor
StringTableEntry mSelectHandle
StringTableEntry mDefaultHandle
StringTableEntry mLockedHandle
ColorI mObjectTextColor
bool mObjectsUseBoxCenter
S32 mAxisGizmoMaxScreenLen
bool mAxisGizmoActive
F32 mMouseMoveScale
F32 mMouseRotateScale
Point3F mCurrentScaleBuffer
Point3F mMouseScaleBuffer
F32 mMouseScaleScale
F32 mMinScaleFactor
F32 mMaxScaleFactor
ColorI mObjSelectColor
ColorI mObjMouseOverSelectColor
ColorI mObjMouseOverColor
bool mShowMousePopupInfo
ColorI mDragRectColor
bool mRenderObjText
bool mRenderObjHandle
StringTableEntry mObjTextFormat
ColorI mFaceSelectColor
bool mRenderSelectionBox
ColorI mSelectionBoxColor
bool mSelectionLocked
bool mPerformedDragCopy
bool mSnapToGrid
bool mAllowSnapRotations
F32 mRotationSnap
bool mAllowSnapScale
F32 mScaleSnap
bool mSameScaleAllAxis
bool mToggleIgnoreList
bool mRenderNav
bool mNoMouseDrag
bool mStickToGround
bool mDropAtBounds
F32 mDropBelowCameraOffset

Static Public Attributes

static Signal< void(WorldEditor *)> smRenderSceneSignal

Private Types

typedef EditTSCtrl Parent
 Move = 0
 Rotate
 Scale
enum  {
  Move = 0,
  Rotate,
  Scale
}

Private Member Functions

SelectionStatecreateUndo (Selection &)
void addUndo (Vector< SelectionState * > &list, SelectionState *sel)
bool processUndo (Vector< SelectionState * > &src, Vector< SelectionState * > &dest)
void clearUndo (Vector< SelectionState * > &list)
SceneObjectgetControlObject ()
bool collide (const Gui3DMouseEvent &event, CollisionInfo &info)
void renderObjectFace (SceneObject *obj, const VectorF &normal, const ColorI &col)
void renderSelectionWorldBox (Selection &sel)
void renderPlane (const Point3F &origin)
void renderMousePopupInfo ()
void renderScreenObj (SceneObject *obj, Point2I sPos)
void renderPaths (SimObject *obj)
void renderSplinePath (Path *path)
void calcAxisInfo ()
bool collideAxisGizmo (const Gui3DMouseEvent &event)
void renderAxisGizmo ()
void renderAxisGizmoArrows ()
void renderAxisGizmoBoxes ()
void renderAxisGizmoCircles ()
void renderAxisGizmoText ()
Point3F snapPoint (const Point3F &pnt)
ClassInfo::EntrygetClassEntry (StringTableEntry name)
ClassInfo::EntrygetClassEntry (const SceneObject *obj)
bool addClassEntry (ClassInfo::Entry *entry)
void setCursor (U32 cursor)
void get3DCursor (GuiCursor *&cursor, bool &visible, const Gui3DMouseEvent &event)

Private Attributes

Vector< SelectionState * > mUndoList
Vector< SelectionState * > mRedoList
Point3F mAxisGizmoCenter
VectorF mAxisGizmoVector [3]
F32 mAxisGizmoProjLen
S32 mAxisGizmoSelAxis
PlaneF mAxisGizmoSelPlane
Point3F mAxisGizmoSelPlanePoint
Point3F mAxisGizmoSelStart
ColorI mAxisGizmoColors [6][2]
U32 mAxisGizmoPlanarVectors [3][2]
U32 mAxisGizmoPlanarRotAxis [3]
bool mUsingAxisGizmo
GFXStateBlockRef mAxisGizmoSB
GFXStateBlockRef mRenderObjectFaceSB
GFXStateBlockRef mSplineSB
bool mIsDirty
bool mMouseDown
Selection mSelected
bool mUseVertMove
Selection mDragSelected
bool mDragSelect
RectI mDragRect
Point2I mDragStart
U32 mCurrentMode
U32 mDefaultMode
S32 mRedirectID
CollisionInfo mHitInfo
Point3F mHitOffset
SimObjectPtr< SceneObjectmHitObject
Point2I mHitMousePos
Point3F mHitCentroid
EulerF mHitRotation
bool mMouseDragged
Gui3DMouseEvent mLastMouseEvent
F32 mLastRotation
Point3F mLastMousePlanarPos
ClassInfo mClassInfo
ClassInfo::Entry mDefaultClassEntry
S32 mCurrentCursor

Classes

class  ClassInfo
struct  CollisionInfo
class  Selection
struct  SelectionState
struct  StreamedObject

Member Typedef Documentation

typedef EditTSCtrl WorldEditor::Parent [private]

Reimplemented from EditTSCtrl.


Member Enumeration Documentation

anonymous enum [private]

Enumerator:
Move 
Rotate 
Scale 

anonymous enum

Enumerator:
DropAtOrigin 
DropAtCamera 
DropAtCameraWithRot 
DropBelowCamera 
DropAtScreenCenter 
DropAtCentroid 
DropToGround 


Constructor & Destructor Documentation

WorldEditor::WorldEditor (  ) 

WorldEditor::~WorldEditor (  ) 


Member Function Documentation

void WorldEditor::ignoreObjClass ( U32  argc,
const char **  argv 
)

void WorldEditor::clearIgnoreList (  ) 

void WorldEditor::undo (  ) 

void WorldEditor::redo (  ) 

void WorldEditor::clearSelection (  ) 

void WorldEditor::selectObject ( const char *  obj  ) 

void WorldEditor::unselectObject ( const char *  obj  ) 

S32 WorldEditor::getSelectionSize (  ) 

S32 WorldEditor::getSelectObject ( S32  index  ) 

const Point3F& WorldEditor::getSelectionCentroid (  ) 

const char* WorldEditor::getSelectionCentroidText (  ) 

const Box3F& WorldEditor::getSelectionBounds (  ) 

void WorldEditor::dropCurrentSelection (  ) 

void WorldEditor::deleteCurrentSelection (  ) 

void WorldEditor::copyCurrentSelection (  ) 

bool WorldEditor::canPasteSelection (  ) 

bool WorldEditor::alignByBounds ( S32  boundsAxis  ) 

bool WorldEditor::alignByAxis ( S32  axis  ) 

void WorldEditor::resetSelectedRotation (  ) 

void WorldEditor::resetSelectedScale (  ) 

const char* WorldEditor::getMode (  ) 

bool WorldEditor::setMode ( const char *  mode  ) 

void WorldEditor::addUndoState (  ) 

void WorldEditor::redirectConsole ( S32  objID  ) 

static SceneObject* WorldEditor::getClientObj ( SceneObject  )  [static]

static void WorldEditor::setClientObjInfo ( SceneObject ,
const MatrixF ,
const VectorF  
) [static]

static void WorldEditor::updateClientTransforms ( Selection  )  [static]

SelectionState* WorldEditor::createUndo ( Selection  )  [private]

void WorldEditor::addUndo ( Vector< SelectionState * > &  list,
SelectionState sel 
) [private]

bool WorldEditor::processUndo ( Vector< SelectionState * > &  src,
Vector< SelectionState * > &  dest 
) [private]

void WorldEditor::clearUndo ( Vector< SelectionState * > &  list  )  [private]

bool WorldEditor::deleteSelection ( Selection sel  ) 

bool WorldEditor::copySelection ( Selection sel  ) 

bool WorldEditor::pasteSelection ( bool  dropSel = true  ) 

void WorldEditor::dropSelection ( Selection sel  ) 

void WorldEditor::dropToGround ( Selection sel,
bool  hitOnly,
const Point3F centroid,
bool  useBottomBounds = false 
)

void WorldEditor::hideSelection ( bool  hide  ) 

void WorldEditor::lockSelection ( bool  lock  ) 

bool WorldEditor::objClassIgnored ( const SceneObject obj  ) 

void WorldEditor::renderObjectBox ( SceneObject obj,
const ColorI col 
)

SceneObject* WorldEditor::getControlObject (  )  [private]

bool WorldEditor::collide ( const Gui3DMouseEvent event,
CollisionInfo info 
) [private]

void WorldEditor::renderObjectFace ( SceneObject obj,
const VectorF normal,
const ColorI col 
) [private]

void WorldEditor::renderSelectionWorldBox ( Selection sel  )  [private]

void WorldEditor::renderPlane ( const Point3F origin  )  [private]

void WorldEditor::renderMousePopupInfo (  )  [private]

void WorldEditor::renderScreenObj ( SceneObject obj,
Point2I  sPos 
) [private]

void WorldEditor::renderPaths ( SimObject obj  )  [private]

void WorldEditor::renderSplinePath ( Path path  )  [private]

void WorldEditor::calcAxisInfo (  )  [private]

bool WorldEditor::collideAxisGizmo ( const Gui3DMouseEvent event  )  [private]

void WorldEditor::renderAxisGizmo (  )  [private]

void WorldEditor::renderAxisGizmoArrows (  )  [private]

void WorldEditor::renderAxisGizmoBoxes (  )  [private]

void WorldEditor::renderAxisGizmoCircles (  )  [private]

void WorldEditor::renderAxisGizmoText (  )  [private]

Point3F WorldEditor::snapPoint ( const Point3F pnt  )  [private]

ClassInfo::Entry* WorldEditor::getClassEntry ( StringTableEntry  name  )  [private]

ClassInfo::Entry* WorldEditor::getClassEntry ( const SceneObject obj  )  [private]

bool WorldEditor::addClassEntry ( ClassInfo::Entry entry  )  [private]

void WorldEditor::setCursor ( U32  cursor  )  [private]

void WorldEditor::get3DCursor ( GuiCursor *&  cursor,
bool visible,
const Gui3DMouseEvent event 
) [private, virtual]

Reimplemented from EditTSCtrl.

bool WorldEditor::onAdd (  )  [virtual]

Called when this object is added to the scene.

Reimplemented from EditTSCtrl.

void WorldEditor::onEditorEnable (  )  [virtual]

Called when the editor is activated.

Reimplemented from SimObject.

void WorldEditor::setDirty (  )  [inline]

void WorldEditor::on3DMouseMove ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DMouseDown ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DMouseUp ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DMouseDragged ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DMouseEnter ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DMouseLeave ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DRightMouseDown ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::on3DRightMouseUp ( const Gui3DMouseEvent event  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::updateGuiInfo (  )  [virtual]

Reimplemented from EditTSCtrl.

void WorldEditor::renderScene ( const RectI updateRect  )  [virtual]

Reimplemented from EditTSCtrl.

static void WorldEditor::initPersistFields (  )  [static]

Register dynamic fields in a subclass of ConsoleObject.

See also:
addField(), addFieldV(), addDeprecatedField(), addGroup(), endGroup()

Reimplemented from EditTSCtrl.

WorldEditor::DECLARE_CONOBJECT ( WorldEditor   ) 


Member Data Documentation