# TBasicWireframeSet Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicWireframeSet:

List of all members.

## Public Member Functions
virtual MCErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)=0
virtual I3DExWireFrameSet *MCCOMAPI | GetNewInterface ()
virtual I3DExWireFrame *MCCOMAPI | GetDeprecatedInterface ()
virtual MCCOMErr MCCOMAPI | TrackWireFrame (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree, I3DEditorHostPanePart *panePart, const TWFHitInfo &handle, const TRACKINFO &startinfo, const TRACKINFO &previnfo, const TRACKINFO &nextinfo, I3DShCamera *camera)
virtual MCCOMErr MCCOMAPI | DataToWireFrame (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree, I3DShCamera *camera)
virtual MCCOMErr MCCOMAPI | WireFrameToData (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree, I3DShCamera *camera)
virtual MCCOMErr MCCOMAPI | TrackWireFrame (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree, const TWFHitInfo &handle, const TRACKINFO &startinfo, const TRACKINFO &previnfo, const TRACKINFO &nextinfo, I3DShCamera *camera)
virtual MCCOMErr MCCOMAPI | TrackWireFrame (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree, const TWFHitInfo &handle, const TRACKINFO &startinfo, const TRACKINFO &previnfo, const TRACKINFO &nextinfo)
virtual MCCOMErr MCCOMAPI | DataToWireFrame (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree)
virtual MCCOMErr MCCOMAPI | WireFrameToData (I3DShWireFrameSet *wireFrame, int16 proj, I3DShTreeElement *tree)
virtual MCCOMErr MCCOMAPI | GetWireFrameBBox (TBBox3D *outBBox, int16 proj, I3DShTreeElement *tree)
| the following methods MUST BE common to I3DExWireFrameSet and I3DExWireFrame:
virtual MCCOMErr MCCOMAPI | GetGlobalTransform (I3DShTreeElement *tree, TTransform3D &outTransform)
virtual void MCCOMAPI | ShowWFTools (boolean show)
| Tells your wireframe to show or not its tools (if any).
virtual boolean MCCOMAPI | HandlesTool (int16 inTool)
virtual boolean MCCOMAPI | IsViewDependent () const
virtual boolean MCCOMAPI | TestHit (I3DShTreeElement *tree, const Ray3D &localRay, const real64 tmin, TWFHitInfo &outInfo)
virtual void MCCOMAPI | GetActionName (TMCString &outName)
virtual real32 MCCOMAPI | GetScalingFactor () const
virtual void MCCOMAPI | SetScalingFactor (real32 inValue)
virtual boolean MCCOMAPI | IsBBoxAlwaysUsedForParentBBox ()

## Detailed Description

Basic Wireframe Set class. Derive from this for a default implementation of I3DExWF and I3DExWireFrameSet. Your class must also inherit from another TBasic* class, and be sure to add a call to TBasicWireframeSet::QueryInterface before you call TBasicUnknown::QueryInterface

See also:
  I3DExWF, I3DExWireFrameSet

## Member Function Documentation

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::DataToWireFrame | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree |
| ) |  |  | `[virtual]`

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::DataToWireFrame | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree,
|  | I3DShCamera * | camera |
| ) |  |  | `[virtual]`

This is where you should create the wireframe

Parameters:

  | wireFrame | The internal wireframe
  | proj | This is the 'hit' projection (-1: invalid, 0: XY, 1: YZ, 2: XZ, 3: 3D) WARNING : other projections than 3 are deprecated
  | tree | The tree that has the wireframe
  | camera | The camera of the current view

Implements I3DExWireFrameSet.

virtual void MCCOMAPI TBasicWireframeSet::GetActionName | ( | TMCString & | outName | ) | `[inline, virtual]`

Returns the name of the action associated with TrackWireFrame (displayed by undo) If that function is not implemented, the default name is "Move"

Parameters:

  | outName | The name of the action.

Implements I3DExWireFrameSet.

virtual I3DExWireFrame* MCCOMAPI TBasicWireframeSet::GetDeprecatedInterface | ( |  | ) | `[inline, virtual]`

Implements I3DExWF.

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::GetGlobalTransform | ( | I3DShTreeElement * | tree,
|  | TTransform3D & | outTransform |
| ) |  |  | `[inline, virtual]`

Gets the transform to apply to the wireframe data to convert it into global space

Note:
  Only implement this method if your wf data is not stored in the tree's local coordinates

Parameters:

  | tree | the tree that has the wireframe
  | outTransform | the wfdata to world transform

Returns:
  MC_S_OK if outTransform is set, or MC_E_NOTIMPL to use the default

Implements I3DExWireFrameSet.

virtual I3DExWireFrameSet* MCCOMAPI TBasicWireframeSet::GetNewInterface | ( |  | ) | `[inline, virtual]`

Implements I3DExWF.

virtual real32 MCCOMAPI TBasicWireframeSet::GetScalingFactor | ( |  | ) | const`[inline, virtual]`

Returns the name scaling factor that should be applied to the object

Implements I3DExWireFrameSet.

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::GetWireFrameBBox | ( | TBBox3D * | outBBox,
|  | int16 | proj,
|  | I3DShTreeElement * | tree |
| ) |  |  | `[virtual]`

the following methods MUST BE common to I3DExWireFrameSet and I3DExWireFrame:

Implements I3DExWF.

virtual boolean MCCOMAPI TBasicWireframeSet::HandlesTool | ( | int16 | inTool | ) | `[virtual]`

Implements I3DExWF.

virtual boolean MCCOMAPI TBasicWireframeSet::IsBBoxAlwaysUsedForParentBBox | ( |  | ) | `[inline, virtual]`

Tells if BBox is always used to calculate parent BBox In cases we do not want all helper objects

Implements I3DExWF.

virtual boolean MCCOMAPI TBasicWireframeSet::IsViewDependent | ( |  | ) | const`[inline, virtual]`

Must return True if the wireframe depends on the view, to False otherwise

Implements I3DExWireFrameSet.

virtual MCErr MCCOMAPI TBasicWireframeSet::QueryInterface | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[pure virtual]`

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:

  | riid | GUID of the interface
  | ppvObj | A pointer to the pointer being returned.

Implements IMCUnknown.

virtual void MCCOMAPI TBasicWireframeSet::SetScalingFactor | ( | real32 | inValue | ) | `[inline, virtual]`

Sets the scaling factor to be applied to the object

Parameters:

  | inValue | the scaling factor

Implements I3DExWireFrameSet.

virtual void MCCOMAPI TBasicWireframeSet::ShowWFTools | ( | boolean | show | ) | `[inline, virtual]`

Tells your wireframe to show or not its tools (if any).

Implements I3DExWF.

virtual boolean MCCOMAPI TBasicWireframeSet::TestHit | ( | I3DShTreeElement * | tree,
|  | const Ray3D & | localRay,
|  | const real64 | tmin,
|  | TWFHitInfo & | outInfo |
| ) |  |  | `[inline, virtual]`

For wireframes that consider themselves surfaces (eg scale manipulators) computes the intersection of the given ray and the wire's surface

Parameters:

  | tree | The tree.
  | localRay | The ray with which the intersection is calculated.
  | outInfo | The info about the intersection if there is one.

Returns:
  true is there is an intersection and fills outInfo

Implements I3DExWireFrameSet.

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::TrackWireFrame | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree,
|  | const TWFHitInfo & | handle,
|  | const TRACKINFO & | startinfo,
|  | const TRACKINFO & | previnfo,
|  | const TRACKINFO & | nextinfo |
| ) |  |  | `[virtual]`

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::TrackWireFrame | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree,
|  | const TWFHitInfo & | handle,
|  | const TRACKINFO & | startinfo,
|  | const TRACKINFO & | previnfo,
|  | const TRACKINFO & | nextinfo,
|  | I3DShCamera * | camera |
| ) |  |  | `[virtual]`

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::TrackWireFrame | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree,
|  | I3DEditorHostPanePart * | panePart,
|  | const TWFHitInfo & | handle,
|  | const TRACKINFO & | startinfo,
|  | const TRACKINFO & | previnfo,
|  | const TRACKINFO & | nextinfo,
|  | I3DShCamera * | camera |
| ) |  |  | `[virtual]`

This function is called whenever the wire frame is tracked in 3dview.

Parameters:

  | wireFrame | The internal wireframe
  | proj | This is the 'hit' projection (-1: invalid, 0: XY, 1: YZ, 2: XZ, 3: 3D)
  | tree | The tree that has the wireframe
  | panePart | The pane part where the wireframe is tracked
  | handle | The element which is tracked
  | startinfo | The track info when the track started
  | previnfo | The last track info before this call
  | nextinfo | The new track info
  | camera | The camera of the current view

Implements I3DExWireFrameSet.

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::WireFrameToData | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree |
| ) |  |  | `[virtual]`

virtual MCCOMErr MCCOMAPI TBasicWireframeSet::WireFrameToData | ( | I3DShWireFrameSet * | wireFrame,
|  | int16 | proj,
|  | I3DShTreeElement * | tree,
|  | I3DShCamera * | camera |
| ) |  |  | `[virtual]`

Implements I3DExWireFrameSet.

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

- BasicWireframeSet.h