# TBasicPreviewPart Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicPreviewPart:

List of all members.

## Public Member Functions
| TBasicPreviewPart (uint32 inPartID, uint32 inPaneExtensionID)
virtual | ~TBasicPreviewPart ()
virtual MCErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI | AddRef ()
virtual TMFEventResult MCCOMAPI | SelfMouseDown (const TMCPoint &inWhere, const TMCPlatformEvent &inEvent)
virtual void MCCOMAPI | SelfPrepareToDestroy ()
virtual void MCCOMAPI | FinishRead ()
virtual boolean MCCOMAPI | ParentChangedBounds (const TMCRect &oldBounds, const TMCRect &newBounds, boolean inval)
virtual void MCCOMAPI | DataChanged (IChangeChannel *channel, IDType changeKind, IMCUnknown *changedData)
virtual void | Make3DView ()
virtual boolean | BuildPreview ()=0
void | ValidatePreview ()
void | InvalidatePreview ()
void | MarkPreviewInvalid (boolean invalid)
virtual void | DrawRenderedPreview (IMCGraphicContext *inGC, const TMCRect *zone)
virtual void | DrawChecker (IMCGraphicContext *inGC, const TMCRect *zone)
TMCOffscreen * | CheckAndGetOffscreen ()
I3DShCamera * | GetCurrentCameraNoAddRef ()
virtual I3DEditorHostPanePart *MCCOMAPI | Get3DEditorHostPanePart ()
virtual IMFPart * | GetRenderPart ()
IMFPart * | GetIMFPartNoAddRef ()
void | GetSize (TMCPoint &size) const
IPreviewMaker * | GetPreviewMaker ()
I3DShScene * | GetSceneToPreview ()
void | LaunchPreviewThread ()
TMCArray< TMCRect > & | GetZonesToRender ()
void | FlushZoneToRender ()
void | AbortRendering ()
void | ReleaseThread ()
void | InvalidateOffscreen (boolean launchTread, const TMCRect &rect=TMCRect::kInvalid)
ERenderMode | GetRenderMode ()
void | SetRenderMode (ERenderMode m)
virtual boolean | IsAutoRefresh ()
virtual void | CreateRenderingCallbacks (TBasicPreviewCallbacks **outCallbacks)
## Public Attributes
| STANDARD_RELEASE
boolean | fOffscreenInvalid
TMCCountedPtr < TBasicPreviewCallbacks > | fRenderingCallbacks
## Protected Member Functions
virtual void | ResetCamera ()=0
boolean | RenderPreview ()
boolean | LoadPreviewScene (const TMCString &fullPathname)
void | BuildPreviewScene (TTransform3D *cameraTransform3D=nil)
## Protected Attributes
TMCSmartPtr< TMCOffscreen > | fOffscreen
TMCArray< TMCRect > | fZoneToBlit
TMCCountedPtr < TBasicPreviewThread > | fPreviewThread
boolean | fShouldInvalidatePreview
boolean | fIsPreviewValid
boolean | fPreviewSceneUnavailable
ERenderMode | fRenderMode
TMCCountedPtr < TBasic3DEditorHostPanePart > | fPreviewPanePart
TMCCountedPtr< I3DShScene > | fPreviewScene
TMCCountedPtr< IPreviewMaker > | fPreviewer
TMCCountedPtr< IChangeChannel > | fImmediateUpdateChannel
TMCCountedPtr< I3DEditorHostPart > | fEditorHostPart
TMCCountedPtr< IMFPart > | fThisPart
TMCCountedPtr< IMFPart > | fInteractiveNode
TMCCountedPtr< IMFPart > | fRenderPart
uint32 | fPartID
uint32 | fPaneExtensionID

## Constructor & Destructor Documentation

TBasicPreviewPart::TBasicPreviewPart | ( | uint32 | inPartID,
|  | uint32 | inPaneExtensionID |
| ) |  |  |

virtual TBasicPreviewPart::~TBasicPreviewPart | ( |  | ) | `[virtual]`

## Member Function Documentation

void TBasicPreviewPart::AbortRendering | ( |  | ) |

virtual uint32 MCCOMAPI TBasicPreviewPart::AddRef | ( |  | ) | `[inline, virtual]`

Increments the reference count of the object

Reimplemented from TBasicPart.

virtual boolean TBasicPreviewPart::BuildPreview | ( |  | ) | `[pure virtual]`

void TBasicPreviewPart::BuildPreviewScene | ( | TTransform3D * | cameraTransform3D = `nil` | ) | `[protected]`

TMCOffscreen* TBasicPreviewPart::CheckAndGetOffscreen | ( |  | ) |

virtual void TBasicPreviewPart::CreateRenderingCallbacks | ( | TBasicPreviewCallbacks ** | outCallbacks | ) | `[virtual]`

virtual void MCCOMAPI TBasicPreviewPart::DataChanged | ( | IChangeChannel * | channel,
|  | IDType | changeKind,
|  | IMCUnknown * | changedData |
| ) |  |  | `[virtual]`

This function is called when a change has been posted on a channel on which this IChangeListener registered itself.

Parameters:

  | channel | The channel that is notifying of the change.
  | changeKind | The kind of change.
  | changedData | Data associated with the type of change.

Implements IChangeListener.

virtual void TBasicPreviewPart::DrawChecker | ( | IMCGraphicContext * | inGC,
|  | const TMCRect * | zone |
| ) |  |  | `[virtual]`

virtual void TBasicPreviewPart::DrawRenderedPreview | ( | IMCGraphicContext * | inGC,
|  | const TMCRect * | zone |
| ) |  |  | `[virtual]`

virtual void MCCOMAPI TBasicPreviewPart::FinishRead | ( |  | ) | `[virtual]`

Called just after reading the part from the resource.

Reimplemented from TBasicPart.

void TBasicPreviewPart::FlushZoneToRender | ( |  | ) |

virtual I3DEditorHostPanePart* MCCOMAPI TBasicPreviewPart::Get3DEditorHostPanePart | ( |  | ) | `[inline, virtual]`

I3DShCamera* TBasicPreviewPart::GetCurrentCameraNoAddRef | ( |  | ) |

IMFPart* TBasicPreviewPart::GetIMFPartNoAddRef | ( |  | ) | `[inline]`

IPreviewMaker* TBasicPreviewPart::GetPreviewMaker | ( |  | ) | `[inline]`

ERenderMode TBasicPreviewPart::GetRenderMode | ( |  | ) | `[inline]`

virtual IMFPart* TBasicPreviewPart::GetRenderPart | ( |  | ) | `[inline, virtual]`

I3DShScene* TBasicPreviewPart::GetSceneToPreview | ( |  | ) | `[inline]`

void TBasicPreviewPart::GetSize | ( | TMCPoint & | size | ) | const`[inline]`

TMCArray<TMCRect>& TBasicPreviewPart::GetZonesToRender | ( |  | ) | `[inline]`

void TBasicPreviewPart::InvalidateOffscreen | ( | boolean | launchTread,
|  | const TMCRect & | rect = `TMCRect::kInvalid` |
| ) |  |  |

void TBasicPreviewPart::InvalidatePreview | ( |  | ) |

virtual boolean TBasicPreviewPart::IsAutoRefresh | ( |  | ) | `[inline, virtual]`

void TBasicPreviewPart::LaunchPreviewThread | ( |  | ) |

boolean TBasicPreviewPart::LoadPreviewScene | ( | const TMCString & | fullPathname | ) | `[protected]`

virtual void TBasicPreviewPart::Make3DView | ( |  | ) | `[virtual]`

void TBasicPreviewPart::MarkPreviewInvalid | ( | boolean | invalid | ) |

virtual boolean MCCOMAPI TBasicPreviewPart::ParentChangedBounds | ( | const TMCRect & | oldBounds,
|  | const TMCRect & | newBounds,
|  | boolean | inval |
| ) |  |  | `[virtual]`

Called each time the bounds of the parent's part were changed.

Parameters:

  | oldBounds | The old bounds of the parent.
  | newBounds | The new bounds of the parent.
  | inval | True if the part should be invalidated.

Reimplemented from TBasicPart.

virtual MCErr MCCOMAPI TBasicPreviewPart::QueryInterface | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[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.

Reimplemented from TBasicPart.

void TBasicPreviewPart::ReleaseThread | ( |  | ) |

boolean TBasicPreviewPart::RenderPreview | ( |  | ) | `[protected]`

virtual void TBasicPreviewPart::ResetCamera | ( |  | ) | `[protected, pure virtual]`

virtual TMFEventResult MCCOMAPI TBasicPreviewPart::SelfMouseDown | ( | const TMCPoint & | inWhere,
|  | const TMCPlatformEvent & | inEvent |
| ) |  |  | `[virtual]`

Handles a click with the left button of the mouse within the part's bounds

Note: When the previous implementation returned a boolean result, you should now return TMFEventResult(result, result) in most cases.

Parameters:

  | inWhere | point in local coordinates of the mouse down
  | inEvent | event information (like clickcount)

Reimplemented from TBasicPart.

virtual void MCCOMAPI TBasicPreviewPart::SelfPrepareToDestroy | ( |  | ) | `[virtual]`

Called when the part is about to be destroyed to give it an opportunity to release all counted references and caches.

Reimplemented from TBasicPart.

void TBasicPreviewPart::SetRenderMode | ( | ERenderMode | m | ) | `[inline]`

void TBasicPreviewPart::ValidatePreview | ( |  | ) | `[inline]`

## Member Data Documentation

TMCCountedPtr<I3DEditorHostPart> TBasicPreviewPart::fEditorHostPart`[protected]`

TMCCountedPtr<IChangeChannel> TBasicPreviewPart::fImmediateUpdateChannel`[protected]`

TMCCountedPtr<IMFPart> TBasicPreviewPart::fInteractiveNode`[protected]`

boolean TBasicPreviewPart::fIsPreviewValid`[protected]`

TMCSmartPtr<TMCOffscreen> TBasicPreviewPart::fOffscreen`[protected]`

boolean TBasicPreviewPart::fOffscreenInvalid

uint32 TBasicPreviewPart::fPaneExtensionID`[protected]`

uint32 TBasicPreviewPart::fPartID`[protected]`

TMCCountedPtr<IPreviewMaker> TBasicPreviewPart::fPreviewer`[protected]`

TMCCountedPtr<TBasic3DEditorHostPanePart> TBasicPreviewPart::fPreviewPanePart`[protected]`

TMCCountedPtr<I3DShScene> TBasicPreviewPart::fPreviewScene`[protected]`

boolean TBasicPreviewPart::fPreviewSceneUnavailable`[protected]`

TMCCountedPtr<TBasicPreviewThread> TBasicPreviewPart::fPreviewThread`[protected]`

TMCCountedPtr<TBasicPreviewCallbacks> TBasicPreviewPart::fRenderingCallbacks

ERenderMode TBasicPreviewPart::fRenderMode`[protected]`

TMCCountedPtr<IMFPart> TBasicPreviewPart::fRenderPart`[protected]`

boolean TBasicPreviewPart::fShouldInvalidatePreview`[protected]`

TMCCountedPtr<IMFPart> TBasicPreviewPart::fThisPart`[protected]`

Reimplemented from TBasicPart.

TMCArray<TMCRect> TBasicPreviewPart::fZoneToBlit`[protected]`

TBasicPreviewPart::STANDARD_RELEASE

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

- Basic3DEditorHost.h