Classes | Defines | Enumerations | Functions

manipulator.h File Reference

#include "iparamb2.h"
#include "iFnPub.h"
#include "polyshp.h"
#include "object.h"
#include "gfx.h"
#include "icolorman.h"

Go to the source code of this file.

Classes

class   Plane
class   GizmoShape
class   IManipulatorMgr
class   Manipulator
class   ManipulatorGizmo
class   ISimpleManipulator
class   SimpleManipulator
class   ManipHitData
class   SimpleManipHitData

Defines

#define  ManipExport   __declspec(dllimport)
#define  MANIP_PLANE_INTERFACE   Interface_ID(0x44460ea4, 0xbf73be6)
#define  MANIP_GIZMO_INTERFACE   Interface_ID(0x124e3169, 0xf067ad4)
#define  MANIP_MGR_INTERFACE   Interface_ID(0x2c450aa2, 0x7b9d0365)
#define  SIMPLE_MANIP_INTERFACE   Interface_ID(0x617c41d4, 0x6af06a5f)

Enumerations

enum   DisplayState { kNoRedrawNeeded, kFullRedrawNeeded, kPostRedrawNeeded }
enum   MouseState { kMouseIdle, kMouseDragging, kMouseOverManip }

Functions

ManipExport Mesh MakeSphere (Point3 &pos, float radius, int segments)
ManipExport Mesh MakeTorus (Point3 &pos, float radius, float radius2, int segs, int sides)
ManipExport Mesh MakeBox (Point3 &pos, float l, float w, float h, int lsegs, int wsegs, int hsegs)
ManipExport void  AddCubeShape (PolyShape &shape, Point3 &pos, float size)

Define Documentation

#define ManipExport   __declspec(dllimport)

Definition at line 22 of file manipulator.h.

#define MANIP_PLANE_INTERFACE   Interface_ID(0x44460ea4, 0xbf73be6)

Definition at line 34 of file manipulator.h.

#define MANIP_GIZMO_INTERFACE   Interface_ID(0x124e3169, 0xf067ad4)

Definition at line 126 of file manipulator.h.

#define MANIP_MGR_INTERFACE   Interface_ID(0x2c450aa2, 0x7b9d0365)

Definition at line 204 of file manipulator.h.

#define SIMPLE_MANIP_INTERFACE   Interface_ID(0x617c41d4, 0x6af06a5f)

Definition at line 962 of file manipulator.h.


Enumeration Type Documentation

enum MouseState

Function Documentation

ManipExport Mesh* MakeSphere ( Point3 pos,
float  radius,
int  segments 
)
Remarks:
This global function is available in release 4.0 and later only.

Creates a new mesh sphere at the given center position with the specified radius and segments count.
Parameters:
Point3& pos

The center point for the sphere in object space.

float radius

The radius for the sphere.

int segments

The number of segments for the sphere mesh.
Returns:
A pointer to the sphere mesh. Developers are responsible for deleting this mesh when done.
ManipExport Mesh* MakeTorus ( Point3 pos,
float  radius,
float  radius2,
int  segs,
int  sides 
)
Remarks:
This global function is available in release 4.0 and later only.

Create a mesh torus with the given center point, outer radius, inner radius, and segment counts along the two circular dimensions of the torus.
Parameters:
Point3& pos

The center point in object space.

float radius

The first radius.

float radius2

The second radius.

int segs

The segment count along the vertical circular dimension.

int sides

The segment count along the horizontal circular dimension.
Returns:
A pointer to the torus mesh created. Developers are responsible for deleting this mesh when done with it.
ManipExport Mesh* MakeBox ( Point3 pos,
float  l,
float  w,
float  h,
int  lsegs,
int  wsegs,
int  hsegs 
)
Remarks:
This global function is available in release 4.0 and later only.

Creates a mesh box with the given center point, length, width and height as well as segment parameters.
Parameters:
Point3& pos

The box is built from this position in size along +X, +Y and +Z. This coordinate is in object space.

float l

The length of the box.

float w

The width of the box.

float h

The height of the box.

int lsegs

The number of segments in the length dimension.

int wsegs

The number of segments in the width dimension.

int hsegs

The number of segments in the height dimension.
Returns:
A pointer to the box mesh. Developers are responsible for deleting this mesh when done.
ManipExport void AddCubeShape ( PolyShape shape,
Point3 pos,
float  size 
)
Remarks:
This global function is available in release 4.0 and later only.

Creates a new series of lines in the form of a cube and adds it to the specified PolyShape with the given position and side length size.
Parameters:
PolyShape& shape

The PolyShape to add the box shape to.

Point3& pos

The position for the center of the cube shape in object space.

float size

The size of one side of the cube in object space.
Data Members:
protected:

int mDispSelectedIndex;

The Index of manipulator that the mouse is over, for display.

MSTR mToolTip;

The tooltip text.

float mGizmoScale;

The scaling factor of the gizmo.

IParamBlock2 *mpPblock;

The Parameter Block 2 for the manipulator.

RefTargetHandle mhTarget;

The handle to the manipulator reference target.

MouseState mState;

The state of the mouse, which is one of the following:

kMouseIdle

The mouse is idle, manipulator not active and the mouse is not over it.

kMouseDragging

The mouse is currently dragging the manipulator.

kMouseOverManip

The mouse is over the manipulator, but it is not being dragged.

BOOL mActiveViewOnly;

This flag defines whether the manipulator is shown in the active viewport only.

Interval mValid;

The validity interval of the reference.