I3DEditorHostPart Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DEditorHostPart:
IMCUnknown

List of all members.

Public Member Functions

virtual void MCCOMAPI InitEditorHost (real32 sceneMagnitude)=0
virtual void MCCOMAPI SetPaneExtension (IDType paneExtension)=0
virtual EPaneConfig MCCOMAPI GetPaneConfig ()=0
virtual void MCCOMAPI SetPaneConfig (EPaneConfig config)=0
virtual void MCCOMAPI SetPaneArrayDimensions (uint32 x, uint32 y)=0
virtual void MCCOMAPI SetDefaultPaneCameraConfig ()=0
virtual void MCCOMAPI GetPanes (TMCCountedPtrArray< I3DEditorHostPanePart > &panes)=0
virtual void MCCOMAPI ShowSideToolbar (boolean doShowPaneModes, boolean doShowDisplayModes)=0
virtual void MCCOMAPI SetActionResponder (IMFResponder *responder)=0
virtual void MCCOMAPI AllocatePanes (uint32 numPanes)=0
virtual void MCCOMAPI GetWorkingBox (IWorkingBox **workingBox)=0
 Deprecated.
virtual IWorkingBox *MCCOMAPI GetWorkingBox () const =0
 Returns the working box that is associated with the part.
virtual void MCCOMAPI MapDrawingPlanes (boolean value)=0
virtual boolean MCCOMAPI AreDrawingPlanesMapped ()=0
virtual boolean MCCOMAPI IsCanonicalCamera (const I3DShCamera *camera)=0
virtual void MCCOMAPI GetCanonicalCameras (TMCCountedPtrArray< I3DShCamera > &canonicalCameras)=0
virtual void MCCOMAPI SetCanonicalCameras (const TMCCountedPtrArray< I3DShCamera > &inCameras)=0
virtual void MCCOMAPI GetClientCameras (TMCCountedPtrArray< I3DShCamera > &clientCameras)=0
virtual void MCCOMAPI SetClientCameras (const TMCCountedPtrArray< I3DShCamera > &inCameras)=0
virtual void MCCOMAPI GetCameraToolBar (IMFToolbarPart **outToolBar)=0
virtual real MCCOMAPI GetDefault2DZoom ()=0
virtual void MCCOMAPI SetDefault2DZoom (real default2DZoom)=0
virtual void MCCOMAPI GetDefaultSpeeds (real32 &outMovSpeed, real32 &outRotSpeed) const =0
virtual void MCCOMAPI SetDefaultSpeeds (real32 inMovSpeed, real32 inRotSpeed)=0
virtual real32 MCCOMAPI GetGeneralSize () const =0
virtual void MCCOMAPI SetGeneralSize (real32 inSize)=0
virtual void MCCOMAPI SetTopLeftPopup (IMFMenu *popup)=0
virtual void MCCOMAPI EnableTrackingOptimizations (boolean inEnable)=0
virtual boolean MCCOMAPI IsGroundPlaneActivated ()=0
virtual void MCCOMAPI ActivateGroundPlane (boolean activate)=0
virtual void MCCOMAPI ToggleWorkingBoxPlane (int32 planeindex, boolean doInvalidate=true, boolean forceState=false, boolean shown=true)=0
virtual void MCCOMAPI ActivateWorkingBoxPlane (int32 planeindex)=0
virtual void MCCOMAPI BuildMenuBar ()=0
virtual void MCCOMAPI SetImmediateMode (boolean on)=0
virtual void MCCOMAPI SetCurrentCameraToDirectorCamera (int32 paneIndex)=0
virtual void MCCOMAPI GetAllPanes (TMCCountedPtrArray< I3DEditorHostPanePart > &panes)=0
virtual void MCCOMAPI GetCustomPositions (TMCArray< TSavedPosition > &customPositions)=0
virtual void MCCOMAPI SetCustomPositions (TMCArray< TSavedPosition > &customPositions)=0
virtual void MCCOMAPI SetInteractiveRendererToPane (const int32 paneIndex, I3DExRendererBox *newRenderer)=0
virtual void MCCOMAPI SetZoomValuesFromWorkingBoxSize (real32 maxSize)=0
virtual void MCCOMAPI RegisterListener (IChangeListener *listener)=0
virtual void MCCOMAPI UnregisterListener (IChangeListener *listener)=0
virtual boolean MCCOMAPI IsWorkingBoxPlaneShown (int32 planeindex)=0
virtual void MCCOMAPI UpdateWorkingBoxImages ()=0
virtual void MCCOMAPI SetExtraToolPart (IMFPart *inPart)=0
virtual void MCCOMAPI AddCamera (I3DShCamera *inCamera, boolean inIsCanonical, boolean inRebuildMenu)=0
virtual void MCCOMAPI RemoveCamera (I3DShCamera *inCamera, boolean inIsCanonical, boolean inRebuildMenu)=0

Detailed Description

Interface of the part that embeds interactive renderers. The 3D Editor Host is designed to deal with the camera tools and encapsulate a 3D view. It deals with multiple panes. You can implement your own pane part in a modeler so that you can control what it contains.

-Note: to use a local camera toolbar, in MCSketch:

If you create a modeler, you can use the 3DEditorHostPart in your windows. To include it, you must add a NodePart with the part extension '3dHO'. When you load the window (or dialog) from the resource, a 3DEditorHostPart will be created. You can then search that part by ID (usually the 'host' ID is used) and set the type of pane extension you want to use.

The initialisation code of your modeler could look like this:

 void CreateWindows()
 {
   void* oldResources = NULL;
   gResourceUtilities->SetupComponentResources('modu',myModelerID, &oldResources);

   fModule->CreateWindowByResource(&fWindow,myWindowsResID,true);
   ThrowIfNil(fWindow);
   
   TMCCountedPtr<IMFPart> hostPart;
   fWindow->FindChildPartByID(&hostPart, 'host');
   ThrowIfNil(hostPart);
   
   TMCCountedPtr<I3DEditorHostPart> my3DEditorHostPart;
   hostPart->QueryInterface(IID_I3DEditorHostPart, (void **)&my3DEditorHostPart);
   ThrowIfNil(my3DEditorHostPart);

   TMCCountedPtr<IMFResponder> actionResponder;
   fDocument->QueryInterface(IID_IMFResponder, (void**)&actionResponder);
   f3DEditorHostPart->SetActionResponder(actionResponder);

   my3DEditorHostPart->SetPaneExtension('xxxx');

   ...  //(allocate the panes...)
 }

Member Function Documentation

virtual void MCCOMAPI I3DEditorHostPart::ActivateGroundPlane ( boolean  activate  )  [pure virtual]
Deprecated:
Activate/Deactivate the ground plane.
Parameters:
activate True if the ground plane should be activated.
virtual void MCCOMAPI I3DEditorHostPart::ActivateWorkingBoxPlane ( int32  planeindex  )  [pure virtual]

Change the active plane of the working box.

Parameters:
planeindex Index of the plane that should be active.
virtual void MCCOMAPI I3DEditorHostPart::AddCamera ( I3DShCamera inCamera,
boolean  inIsCanonical,
boolean  inRebuildMenu 
) [pure virtual]
virtual void MCCOMAPI I3DEditorHostPart::AllocatePanes ( uint32  numPanes  )  [pure virtual]

Allocates the total number of panes that can be used with the 3DEditorHost. (Usually 4). Note that depending on the pane configuration (see SetPaneConfig()) they will not all be visible at the same time.

Parameters:
numPanes Total number of pane parts.
virtual boolean MCCOMAPI I3DEditorHostPart::AreDrawingPlanesMapped (  )  [pure virtual]

Returns true if the custom drawing planes are used instead of the working box ones.

See also:
MapDrawingPlanes()
virtual void MCCOMAPI I3DEditorHostPart::BuildMenuBar (  )  [pure virtual]

Build the menu bar.

virtual void MCCOMAPI I3DEditorHostPart::EnableTrackingOptimizations ( boolean  inEnable  )  [pure virtual]

Enable/Disable the tracking optimizations. When the optimizations are enabled the 3DEditorHost is not redrawed while the user is resizing the Window.

Parameters:
inEnable True if the optimizations are enabled.
virtual void MCCOMAPI I3DEditorHostPart::GetAllPanes ( TMCCountedPtrArray< I3DEditorHostPanePart > &  panes  )  [pure virtual]

Fill an array with the panes of the editor host.

Parameters:
panes The array to be filled
virtual void MCCOMAPI I3DEditorHostPart::GetCameraToolBar ( IMFToolbarPart **  outToolBar  )  [pure virtual]

Returns a pointer to the toolbar that contains the camera tools (rotate, track...) It is identical to GetCameraToolWindow() except that it does an extra QueryInterface().

Parameters:
outToolBar A pointer to the toolbar.
virtual void MCCOMAPI I3DEditorHostPart::GetCanonicalCameras ( TMCCountedPtrArray< I3DShCamera > &  canonicalCameras  )  [pure virtual]

Returns the list of all the canonical cameras (director, top, left, front, ...)

Parameters:
canonicalCameras The list of canonical cameras that is returned.
virtual void MCCOMAPI I3DEditorHostPart::GetClientCameras ( TMCCountedPtrArray< I3DShCamera > &  clientCameras  )  [pure virtual]

Returns the list of all the client cameras. The client camera are all the cameras except the canonical cameras (see GetCanonicalCameras()).

Parameters:
clientCameras The list of all the client cameras.
virtual void MCCOMAPI I3DEditorHostPart::GetCustomPositions ( TMCArray< TSavedPosition > &  customPositions  )  [pure virtual]

Gets the saved position of the custom camera positions.

Parameters:
customPositions The list of camera positions.
virtual real MCCOMAPI I3DEditorHostPart::GetDefault2DZoom (  )  [pure virtual]

Returns the default 2D zoom.

virtual void MCCOMAPI I3DEditorHostPart::GetDefaultSpeeds ( real32 outMovSpeed,
real32 outRotSpeed 
) const [pure virtual]

Returns the default movement speed for the camera trackers

Parameters:
outMovSpeed The value of the movement speed
outRotSpeed The value of the rotation speed
virtual real32 MCCOMAPI I3DEditorHostPart::GetGeneralSize (  )  const [pure virtual]

Returns the general size (order of magnitude) of what is displayed

virtual EPaneConfig MCCOMAPI I3DEditorHostPart::GetPaneConfig (  )  [pure virtual]

Returns the current pane configuration. See EPaneConfig for more info.

virtual void MCCOMAPI I3DEditorHostPart::GetPanes ( TMCCountedPtrArray< I3DEditorHostPanePart > &  panes  )  [pure virtual]

Returns the list of visible panes. To get all the panes of the editorHostPart, use GetAllPanes(...)

Parameters:
panes The list of the visible panes that is returned.
virtual IWorkingBox* MCCOMAPI I3DEditorHostPart::GetWorkingBox (  )  const [pure virtual]

Returns the working box that is associated with the part.

virtual void MCCOMAPI I3DEditorHostPart::GetWorkingBox ( IWorkingBox **  workingBox  )  [pure virtual]

Deprecated.

virtual void MCCOMAPI I3DEditorHostPart::InitEditorHost ( real32  sceneMagnitude  )  [pure virtual]

Sets the working scale

Parameters:
sceneMagnitude The scale of the scene
virtual boolean MCCOMAPI I3DEditorHostPart::IsCanonicalCamera ( const I3DShCamera camera  )  [pure virtual]

Returns true if the camera is one of the default camera (director, top, left, front, ...)

Parameters:
camera The camera that is tested.
virtual boolean MCCOMAPI I3DEditorHostPart::IsGroundPlaneActivated (  )  [pure virtual]
Deprecated:
Returns true if the ground plane is activated.
virtual boolean MCCOMAPI I3DEditorHostPart::IsWorkingBoxPlaneShown ( int32  planeindex  )  [pure virtual]

Returns true if the given plane is shown

Parameters:
planeindex The index of the plane.
virtual void MCCOMAPI I3DEditorHostPart::MapDrawingPlanes ( boolean  value  )  [pure virtual]

Set to true to use a custom drawing plane instead of the working box ones.

Parameters:
value The state of the drawing.
virtual void MCCOMAPI I3DEditorHostPart::RegisterListener ( IChangeListener listener  )  [pure virtual]

Register a listener. See messages above. Note : there is no channels, just 1 listener is stored.

Parameters:
listener The listener that is registered.
virtual void MCCOMAPI I3DEditorHostPart::RemoveCamera ( I3DShCamera inCamera,
boolean  inIsCanonical,
boolean  inRebuildMenu 
) [pure virtual]
virtual void MCCOMAPI I3DEditorHostPart::SetActionResponder ( IMFResponder responder  )  [pure virtual]

Sets the action responder on the part. In the case of a modeler (or module) the action responder is usually the document associated with the module. You must call this function after creating a 3DEditorHost part to set the action responder for Undo/Redo (normally the document's responder)

Parameters:
responder The action responder.
virtual void MCCOMAPI I3DEditorHostPart::SetCanonicalCameras ( const TMCCountedPtrArray< I3DShCamera > &  inCameras  )  [pure virtual]

Sets the list of all the canonical cameras (director, top, left, front, ...)

Parameters:
inCameras The list of canonical cameras.
virtual void MCCOMAPI I3DEditorHostPart::SetClientCameras ( const TMCCountedPtrArray< I3DShCamera > &  inCameras  )  [pure virtual]

Sets the client cameras. (by opposition to canonical cameras).

Parameters:
inCameras The list of all the client cameras.
virtual void MCCOMAPI I3DEditorHostPart::SetCurrentCameraToDirectorCamera ( int32  paneIndex  )  [pure virtual]

Use the director camera as the current camera.

Parameters:
paneIndex The index of the pane in which the camera is changed.
virtual void MCCOMAPI I3DEditorHostPart::SetCustomPositions ( TMCArray< TSavedPosition > &  customPositions  )  [pure virtual]

Set the saved position of the custom camera positions.

Parameters:
customPositions The array of custom positions.
virtual void MCCOMAPI I3DEditorHostPart::SetDefault2DZoom ( real  default2DZoom  )  [pure virtual]

Sets the default 2D Zoom

Parameters:
default2DZoom The value of zoom.
virtual void MCCOMAPI I3DEditorHostPart::SetDefaultPaneCameraConfig (  )  [pure virtual]

Sets the default camera on the current panes.

virtual void MCCOMAPI I3DEditorHostPart::SetDefaultSpeeds ( real32  inMovSpeed,
real32  inRotSpeed 
) [pure virtual]

Sets the default speeds for the camera trackers

Parameters:
inMovSpeed The value of the movement speed (1.0 is the default)
inRotSpeed The value of the rotation speed (1.0 is the default)
virtual void MCCOMAPI I3DEditorHostPart::SetExtraToolPart ( IMFPart inPart  )  [pure virtual]

Adds an extra part to the side of the window (under the regular toolbars)

Parameters:
inPart A pointer to the extra tool part.
virtual void MCCOMAPI I3DEditorHostPart::SetGeneralSize ( real32  inSize  )  [pure virtual]

Sets the general size of what will be displayed in this host part. It is used as the scene's order of magnitude when there is no scene (previews, modelers...), in order to correctly set parameters related to the cameras.

Parameters:
inSize The size, in inches (1.0 is the default)
virtual void MCCOMAPI I3DEditorHostPart::SetImmediateMode ( boolean  on  )  [pure virtual]

Turn on/off the immediate mode. The immediate mode is used for interactive manipulations by the user. When it is on, the rendering is blit directly to the screen without going through the back buffer.

Parameters:
on True if the immediate mode should be on.
virtual void MCCOMAPI I3DEditorHostPart::SetInteractiveRendererToPane ( const int32  paneIndex,
I3DExRendererBox newRenderer 
) [pure virtual]

Sets a renderer to a particular pane.

Parameters:
paneIndex The index of the pane in the pane array of the editorHost.
newRenderer The new renderer for the pane.
virtual void MCCOMAPI I3DEditorHostPart::SetPaneArrayDimensions ( uint32  x,
uint32  y 
) [pure virtual]

Sets the number of panes in the window rect.

Parameters:
x Number of panes horizontally.
y Number of panes vertically.
virtual void MCCOMAPI I3DEditorHostPart::SetPaneConfig ( EPaneConfig  config  )  [pure virtual]

Sets the current pane configuration. See EPaneConfig for more info.

Parameters:
config The configuration of the panes.
virtual void MCCOMAPI I3DEditorHostPart::SetPaneExtension ( IDType  paneExtension  )  [pure virtual]

Sets the ID of the part extension that is used as pane part. This part should implement the interface I3DEditorHostPanePart.

Parameters:
paneExtension The class ID of the part extension.
virtual void MCCOMAPI I3DEditorHostPart::SetTopLeftPopup ( IMFMenu popup  )  [pure virtual]

Sets the menu that is used at the top of left of each pane.

Parameters:
popup A pointer to menu.
virtual void MCCOMAPI I3DEditorHostPart::SetZoomValuesFromWorkingBoxSize ( real32  maxSize  )  [pure virtual]

Sets the defaultZoom value of the 3D view so the working box will fit in the view when the zoom is set to 100%.

Parameters:
maxSize The max dimension of the working box.
virtual void MCCOMAPI I3DEditorHostPart::ShowSideToolbar ( boolean  doShowPaneModes,
boolean  doShowDisplayModes 
) [pure virtual]

Sets the visibility status of the tool bar on the side of the window (The toolbar that contains the part configurations and the rendering modes).

Parameters:
doShowPaneModes True if the panes configurations icons should be visible.
doShowDisplayModes True if the rendering modes icons should be visible.
virtual void MCCOMAPI I3DEditorHostPart::ToggleWorkingBoxPlane ( int32  planeindex,
boolean  doInvalidate = true,
boolean  forceState = false,
boolean  shown = true 
) [pure virtual]

Change the state of a plane of the working box.

Parameters:
planeindex The index of the plane.
doInvalidate True if the views should be rerendered.
forceState True if the state should be changed.
shown True if the plane is visible.
virtual void MCCOMAPI I3DEditorHostPart::UnregisterListener ( IChangeListener listener  )  [pure virtual]

Unegister a listener.

Parameters:
listener The listener that is unregistered.
virtual void MCCOMAPI I3DEditorHostPart::UpdateWorkingBoxImages (  )  [pure virtual]

Update the rendering of the images attached to the working box


The documentation for this struct was generated from the following file:
Generated on Mon Apr 26 22:47:36 2010 for Carrara SDK Doc by  doxygen 1.6.3