Public Types | Public Member Functions

GizmoShape Class Reference

Search for all occurrences

Detailed Description

See also:
Class SimpleManipulator, Class ISimpleManipulator, Class FPMixinInterface, Class PolyLine, Class PolyShape

Description:
This class is available in release 4.0 and later only.

This class represents the main gizmo shape.

The Function Publishing interface to SimpleManipulators is defined as:

#define MANIP_GIZMO_INTERFACE Interface_ID(0x124e3169, 0xf067ad4)

Data Members:
private:

PolyShape mPolyShape;

The gizmo polyshape.

PolyLine mLine;

A poly line.

#include <manipulator.h>

Inheritance diagram for GizmoShape:
Inheritance graph
[legend]

List of all members.

Public Types

enum   { startNewLine, appendPoint, transform }

Public Member Functions

ManipExport  GizmoShape ()
ManipExport void  StartNewLine ()
ManipExport void  AppendPoint (Point3 &p)
ManipExport PolyShape GetPolyShape ()
ManipExport void  Transform (Matrix3 &tm)
BEGIN_FUNCTION_MAP  VFN_0 (startNewLine, StartNewLine)
  VFN_1 (appendPoint, AppendPoint, TYPE_POINT3_BV)
  VFN_1 (transform, Transform, TYPE_MATRIX3_BV)
END_FUNCTION_MAP ManipExport
FPInterfaceDesc
GetDesc ()
ManipExport LifetimeType  LifetimeControl ()
ManipExport BaseInterface AcquireInterface ()
ManipExport void  ReleaseInterface ()

Member Enumeration Documentation

anonymous enum

Constructor & Destructor Documentation

ManipExport GizmoShape ( ) [inline]
Remarks:
Constructor.
Default Implementation:
{ mLine.Init(); }
{ mLine.Init(); }

Member Function Documentation

ManipExport void StartNewLine ( ) [inline]
Remarks:
This method instructs the gizmo shape to start (append) a new line segment.
                                    {
        if (mLine.numPts > 0)
            mPolyShape.Append(mLine);
        mLine.Init();
    }
ManipExport void AppendPoint ( Point3 p ) [inline]
Remarks:
This method instructs the gizmo shape to append a new point to the line segment.
Parameters:
Point3& p

The vertex point to add.
                                            {
        mLine.Append(PolyPt(p));
    }
ManipExport PolyShape* GetPolyShape ( ) [inline]
Remarks:
This method returns a pointer to the gizmo's poly shape.
                                          {
        if (mLine.numPts > 0)
            mPolyShape.Append(mLine);
        mLine.Init();
        return &mPolyShape;
    }
ManipExport void Transform ( Matrix3 tm )
Remarks:
This method allows you to transform the gizmo shape.
Parameters:
Matrix3& tm

The transformation matrix.
BEGIN_FUNCTION_MAP VFN_0 ( startNewLine  ,
StartNewLine   
)
VFN_1 ( appendPoint  ,
AppendPoint  ,
TYPE_POINT3_BV   
)
VFN_1 ( transform  ,
Transform  ,
TYPE_MATRIX3_BV   
)
END_FUNCTION_MAP ManipExport FPInterfaceDesc* GetDesc ( ) [virtual]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

ManipExport LifetimeType LifetimeControl ( ) [inline, virtual]
Remarks:
This method allows inquiries into the actual lifetime policy of a client and provide a server-controlled delete notify callback.
Returns:
One of the following LifetimeTypes:

noRelease

Do not call release, use interface as long as you like.

immediateRelease

The interface is only good for one calls. The release is implied so a call to release is not required.

wantsRelease

The clients are controlling the lifetime, so the interface needs a Release() when the client has finished. This is the default.

serverControlled

The server controls the lifetime and will use the InterfaceNotifyCallback to inform the code when it is gone.
Default Implementation:
{ return noRelease; }

Reimplemented from FPMixinInterface.

{ return wantsRelease; }
ManipExport BaseInterface* AcquireInterface ( ) [inline, virtual]
Remarks:
This method is part of the interface reference management and can be implemented by dynamically allocated interfaces for ref-count based lifetime control). This method should return TRUE if it needs Release() to be called.
Default Implementation:
{ return false; }

Reimplemented from BaseInterface.

{ return this; }
ManipExport void ReleaseInterface ( ) [virtual]
Remarks:
This method is called when a reference to this object is deleted.
Default Implementation:
{ }

Reimplemented from BaseInterface.


GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape
GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape GizmoShape