Open Reality Reference Guide
fbrenderer.h
Go to the documentation of this file.
1 #ifndef __FBRENDERER_H__
2 #define __FBRENDERER_H__
3 /**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6 
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12 
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16 
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25 
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36 
37 **************************************************************************/
38 
43 #include <kaydaradef.h>
44 #ifndef FBSDK_DLL
45 
48 #define FBSDK_DLL K_DLLIMPORT
49 #endif
50 
51 #if !defined(K_NO_MANIPULATOR)
52 #include <fbsdk/fbmanipulator.h>
53 #endif
54 
55 #include <fbsdk/fbcomponent.h>
56 #include <fbsdk/fbmodel.h>
57 #include <fbsdk/fbcamera.h>
58 #include <fbsdk/fblight.h>
59 #include <fbsdk/fbshader.h>
60 #include <fbcontrols/fbcontrols.h> // FBInputType
61 
62 #ifdef FBSDKUseNamespace
63 namespace FBSDKNamespace {
64 #endif
65 
68 
69  FB_FORWARD( FBView );
70 
71  FB_DEFINE_COMPONENT( FBSDK_DLL, Renderer );
72 
74 
83  };
84 
87  enum FBArrangeMode {
90  };
91 
93  {
105  };
106 
108 
113  kFBDisplayNull = (1 << 0),
114  kFBDisplayMarker = (1 << 1),
115  kFBDisplaySkeleton = (1 << 2),
116  kFBDisplayCenter = (1 << 3),
117  kFBDisplayLight = (1 << 4),
118  kFBDisplayCamera = (1 << 5),
119  kFBDisplay3dIcon = (1 << 6),
120  kFBDisplayAll = 0xff
121  };
122 
124 
130  };
131 
133 
167  kFBDKeyF12
168  };
169 
170  FB_DEFINE_ENUM( FBSDK_DLL, DeviceKeyboardKey );
171 
176  {
177  public:
181 
186 
191 
195  int& DisplayWhat();
196 
201 
204  bool& ShowTimeCode();
205 
208  bool& ShowSafeArea();
209 
213 
217 
221 
224  unsigned int RenderCallbackPrefIndex() const;
225 
229  int PaneIndex() const;
230 
231  private:
234  FBViewingOptions & operator =(const FBViewingOptions &);
235  };
236 
237 
239  // FBPickInfos
241 
270  struct FBPickInfos
271  {
278  FBPickInfos( FBModel* pModel, FBVector3d pPoint, FBVector3d pNormal, int pSubItemIndex )
279  : mModel( pModel ), mPoint( pPoint ), mNormal (pNormal), mSubItemIndex(pSubItemIndex) {};
280 
285  };
286 
287  bool operator==( const FBPickInfos& pLhs, const FBPickInfos& pRhs );
288 
291 
299 
304 
306  // FBRendererCallback
308 
311  {
312  //--- Open Reality declaration.
314  public:
315 
318  FBRendererCallback(const char* pName);
319 
323  virtual const char* GetCallbackName() const = 0;
324 
329  virtual const char* GetCallbackDesc() const = 0;
330 
336  virtual unsigned int GetCallbackPrefCount() const;
337 
341  virtual const char* GetCallbackPrefName(unsigned int pIndex) const;
342 
346  virtual void Render(FBRenderOptions* pRenderOptions);
347 
351  virtual void Attach();
352 
356  virtual void Detach();
357 
363  virtual void DetachDisplayContext(FBViewingOptions* pViewOption);
364 
370  };
371 
372  FB_DEFINE_COMPONENT ( FBSDK_DLL, RendererCallback );
373 
381 #define FBRegisterRendererCallback( UniqueNameStr, ClassName, Label, Description, IconFilename ) \
382  HIObject CreateRendererCallback##ClassName( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
383  { \
384  ClassName *Class = new ClassName( pName ); \
385  if (Class->FBCreate()) { \
386  return Class->GetHIObject(); \
387  } else { \
388  delete Class; \
389  return NULL; \
390  } \
391  } \
392  FBLibraryModule( ClassName ) \
393  { \
394  FBRegisterObject( ClassName##R1,"renderer/callback/ogl",Label,Description,CreateRendererCallback##ClassName,true, IconFilename ); \
395  }
396 
401 #define FBRendererCallbackDeclare( ClassName, Parent ) \
402  FBClassDeclare( ClassName,Parent); \
403 public: \
404  ClassName(const char* pName):Parent(pName) { FBClassInit; } \
405 private:
406 
410 #define FBRendererCallbackImplementation( ThisComponent ) \
411  FBClassImplementation( ThisComponent )
412 
413 
415  // FBPropertyListRendererCallback
418 
420  {
421  public:
429  virtual int Add( FBRendererCallback* pItem );
435 
436  private:
437  inline virtual int Add ( FBComponent* pItem ) { return Add((FBRendererCallback*)pItem); }
438  };
439 
441  // FBRenderer
443 
446  {
447  //--- Open Reality declaration.
449  public:
455  FBRenderer(HIObject pObject);
456 
457  //--- Rendering manipulation
465  void SetViewport(int pX,int pY,int pW,int pH);
466 
476  bool RenderBegin(int pX,int pY,int pW,int pH);
477 
483  bool RenderEnd(FBView* pView=NULL);
484 
497  bool PreRender(int pLayer = -1);
498 
503  bool Render(int pLayer = -1);
504 
508  void OGLSetupSceneLights(FBRenderOptions& pRenderOptions);
509 
515  void OGLModelDisplay(FBRenderOptions& pRenderOptions, FBModel& pModel);
516 
521 
526 
532 
535 
541 
546 
555  bool GetSchematicNodesBoundingBox( bool pConsiderCollapsedNodes, int& pTop, int& pLeft, int& pBottom, int& pRight );
556 
566  bool GetSchematicNodesBoundingBoxFromModel( FBModel* pModel, bool pConsiderCollapsedNodes, int& pTop, int& pLeft, int& pBottom, int& pRight );
567 
572 
576  const char* GetCurrentSchematicBookmarkName() const;
577 
582 
587  bool CreateSchematicBookmark(const char* pBookmarkName);
588 
593  bool DeleteSchematicBookmark(const char* pBookmarkName);
594 
600  bool RenameSchematicBookmark(const char* pOldBookmarkName, const char* pNewBookmarkName);
601 
606  bool SelectSchematicBookmark(const char* pBookmarkName);
607 
612 
613  //--- \internal Camera manipulation, Manipulators
624  bool MouseInput(int pX,int pY,FBInputType pInputType,int pButtonKey,FBInputModifier pModifier,int pWheelDeltaValue=0,int pLayer = -1);
625 
637  bool MouseInputNormalized(float pX,float pY,FBInputType pInputType,int pButtonKey,FBInputModifier pModifier,int pWheelDeltaValue, int pLayer = -1, int pPaneId = -1);
638 
646  bool Pick(int pX, int pY, FBPickInfosList& pPickInfosList, bool pNeedIntersectPosition = false );
647 
656  bool PickNormalized(float pX, float pY, FBPickInfosList& pPickInfosList, bool pNeedIntersectPosition = false, int pPaneId = -1);
657 
665  bool RectPick(int pX1, int pY1, int pX2, int pY2, FBPickInfosList& pPickInfosList);
666 
675  bool RectPickNormalized(float pX1, float pY1, float pX2, float pY2, FBPickInfosList& pPickInfosList, int pPaneId = -1);
676 
681  int GetLastPickInfoList(FBPickInfosList& pPickInfosList);
682 
688  void KeyboardInput(FBDeviceKeyboardKey pKeyIndex, bool pKeyState, bool pIsTrigger = false);
689 
696 
703 
713  const FBModelList& GetDisplayableGeometryInCameraFrustum(FBModelList* pModelList = NULL, FBCamera* pCamera = NULL);
714 
723  bool IsModelInsideCameraFrustum(FBModel* pGeometry, FBCamera* pCamera = NULL);
724 
725  // Properties
726  FBPropertyCamera CurrentCamera;
728 
729 #if !defined(K_NO_MANIPULATOR)
730  FBPropertyManipulatorTransform ManipulatorTransform;
732 #endif
733 
734  FBPropertyScene Scene;
759 
764 
777 
783 
787  void CloneViewAdd(FBView* pView);
788 
792  void CloneViewRemove(FBView* pView);
793 
798  void CloneViewRender(int pWidth, int pHeight);
799 
815  void SetCameraInPane( FBCamera* pCamera, unsigned int pPaneIndex );
816 
829  FBCamera* GetCameraInPane( unsigned int pPaneIndex );
830 
834  void SetPaneCount( unsigned int pPaneCount );
835 
839  unsigned int GetPaneCount();
840 
845  bool SetSelectedPaneIndex( unsigned int pPaneIndex );
846 
850  unsigned int GetSelectedPaneIndex() const;
851 
858  void SetSchematicViewInPane( unsigned int pPaneIndex, bool pActive );
859 
864 
872  void SetCameraSwitcherInPane( unsigned int pPaneIndex, bool pActive );
873 
880  bool IsCameraSwitcherInPane( unsigned int pPaneIndex );
881  };
882 
883 #ifdef FBSDKUseNamespace
884 }
885 #endif
886 #endif /* this must be the last line of this file */
kFBDisplayCamera
@ kFBDisplayCamera
Cameras are displayed.
Definition: fbrenderer.h:118
kFBStereoDisplayFreeviewParallel
@ kFBStereoDisplayFreeviewParallel
Display in parallel free view stereo mode.
Definition: fbrenderer.h:102
FBRenderer::RenderEnd
bool RenderEnd(FBView *pView=NULL)
RenderEnd.
FBRenderer::GetCurrentSchematicBookmarkName
const char * GetCurrentSchematicBookmarkName() const
Return the current bookmark name used by the Schematic View.
FBRenderer::UseCameraSwitcher
FBPropertyBool UseCameraSwitcher
Definition: fbrenderer.h:727
kFBPickingModeXRay
@ kFBPickingModeXRay
X-Ray picking mode (obstructed models are displayed in overlay).
Definition: fbrenderer.h:127
FBRenderer::SelectionOverrideTransparency
FBPropertyDouble SelectionOverrideTransparency
Read write Property: Selection override layer transparency.
Definition: fbrenderer.h:746
FBRendererCallback::DefaultLightVolumeRendering
FBPropertyBool DefaultLightVolumeRendering
Read write Property: Set true to use default light volume rendering; set false to disable it.
Definition: fbrenderer.h:369
FBPickInfos::mModel
FBModel * mModel
Model picked.
Definition: fbrenderer.h:279
FBPickInfos::mNormal
FBVector3d mNormal
Normal of the pick on the model's surface in world space.
Definition: fbrenderer.h:283
FBPickInfos
Picking information structure.
Definition: fbrenderer.h:271
FBRenderer::GetPaneCount
unsigned int GetPaneCount()
Return the number of panes displayed in the viewer's layout.
FBRenderer::Scene
FBPropertyScene Scene
Read Write Property: Scene that the renderer will use/draw
Definition: fbrenderer.h:734
kFBDKeyPageDown
@ kFBDKeyPageDown
Page Down.
Definition: fbrenderer.h:136
kFBDKeyF12
@ kFBDKeyF12
'F12'.
Definition: fbrenderer.h:167
FBRenderer::ArrangeSelectedObjectsInSchematic
void ArrangeSelectedObjectsInSchematic()
Request to arrange selected objects in schematic view .
FBRendererCallback::DefaultLightGroundProjectionRendering
FBPropertyBool DefaultLightGroundProjectionRendering
Read write Property: Set true to use default light ground projection rendering; set false to disable ...
Definition: fbrenderer.h:368
kFBDKeyF6
@ kFBDKeyF6
'F6'.
Definition: fbrenderer.h:161
FBRenderer::PickingEnabled
FBPropertyBool PickingEnabled
Read Write Property: Is picking in the viewer enabled?
Definition: fbrenderer.h:741
FBRenderer::SetViewingOptions
bool SetViewingOptions(FBViewingOptions &pOptions)
Set the viewing options.
FB_DEFINE_ENUM
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:150
kFBDisplaySkeleton
@ kFBDisplaySkeleton
Skeletons and bones are displayed.
Definition: fbrenderer.h:115
FBRendererCallback::Render
virtual void Render(FBRenderOptions *pRenderOptions)
Callback for rendering.
FBRenderer::IsCurrentSchematicBookmarkDirty
bool IsCurrentSchematicBookmarkDirty() const
Return if the current bookmark used by the Schematic View is dirty or not.
kFBDisplayMarker
@ kFBDisplayMarker
Markers are displayed.
Definition: fbrenderer.h:114
kFBDKey9
@ kFBDKey9
'9'.
Definition: fbrenderer.h:154
kFBDisplayModeCount
@ kFBDisplayModeCount
End of enum, this value indicates the number of display modes available.
Definition: fbrenderer.h:82
FBRenderer::DisplayableGeometryCount
FBPropertyInt DisplayableGeometryCount
Read Only Property: Displayable geometry count.
Definition: fbrenderer.h:751
FBPropertyInt
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Definition: fbproperties.h:1331
kFBDisplayModeDefault
@ kFBDisplayModeDefault
Use default display mode.
Definition: fbrenderer.h:77
FBPropertyListRendererCallback
PropertyList: Texture
Definition: fbrenderer.h:420
FBPropertyListRendererCallback::operator[]
FBRendererCallback * operator[](int pIndex)
Get the texture at a specific index.
FBRenderer
Open Reality renderer interface.
Definition: fbrenderer.h:446
FBPickInfosList
class K_DLLIMPORT FBArrayTemplate< FBPickInfos > FBPickInfosList
typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList
Definition: fbrenderer.h:290
FBRenderer::MouseInputNormalized
bool MouseInputNormalized(float pX, float pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pWheelDeltaValue, int pLayer=-1, int pPaneId=-1)
Mouse input.
FBDestroyPickInfosList
K_DLLIMPORT void FBDestroyPickInfosList(FBPickInfosList *pPickInfosList)
Delete a FBPickInfosList object.
FBRenderer::RectPickNormalized
bool RectPickNormalized(float pX1, float pY1, float pX2, float pY2, FBPickInfosList &pPickInfosList, int pPaneId=-1)
Object rectangle selection.
FBViewingOptions::ShowTimeCode
bool & ShowTimeCode()
Show Time Code when rendering.
FBRenderer::PreRender
bool PreRender(int pLayer=-1)
PreRenders one frame (needed for some shaders) This functions destroys the frame buffer content and m...
kFBStereoDisplayCenterEye
@ kFBStereoDisplayCenterEye
Display in Center Eye Camera, No Stereo effect.
Definition: fbrenderer.h:94
FBRenderer::GetDisplayableGeometry
FBModel * GetDisplayableGeometry(int pIndex)
Get the displayable geometry model.
FBRenderer::GetViewerTextureId
int GetViewerTextureId()
Viewer texture Id.
FBStringList
String list.
Definition: fbstring.h:208
FBRenderer::AdvancedMaterialMode
FBPropertyBool AdvancedMaterialMode
Read write Property: Turn on/off advanced material setting UI widgets.
Definition: fbrenderer.h:763
FBRendererCallback::Attach
virtual void Attach()
Callback when attach RendererCallback This callback occurs when attach this renderer callback instanc...
FBRenderer::GetDisplayableLight
FBLight * GetDisplayableLight(int pIndex)
Get the displayable light.
FBArrangeMode
FBArrangeMode
Modes for arranging objects in schematic view.
Definition: fbrenderer.h:87
FBViewingOptions::DisplayWhat
int & DisplayWhat()
Get a reference to the display mask.
kFBDisplayNull
@ kFBDisplayNull
Null models are displayed.
Definition: fbrenderer.h:113
FBViewingOptions::GetViewingCamera
FBCamera * GetViewingCamera()
Get a reference to the current viewing camera.
FBStereoDisplayMode
FBStereoDisplayMode
Definition: fbrenderer.h:93
FBRendererCallback::GetCallbackDesc
virtual const char * GetCallbackDesc() const =0
Return Callback Desc Name.
FBRendererCallback::DefaultCameraFrontPlateRendering
FBPropertyBool DefaultCameraFrontPlateRendering
Read write Property: Set true to use default camera front plate rendering; set false to disable it.
Definition: fbrenderer.h:366
FBRenderer::GetSchematicBookmarkNames
FBStringList GetSchematicBookmarkNames() const
Return the bookmark names available in the Schematic View.
kFBDKey2
@ kFBDKey2
'2'.
Definition: fbrenderer.h:147
FBPropertyDouble
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
Definition: fbproperties.h:1340
kFBDisplayCenter
@ kFBDisplayCenter
Centers are displayed.
Definition: fbrenderer.h:116
kFBDKeySpace
@ kFBDKeySpace
Space bar.
Definition: fbrenderer.h:145
kFBDKey4
@ kFBDKey4
'4'.
Definition: fbrenderer.h:149
FBViewingOptions::ShowSafeArea
bool & ShowSafeArea()
Show Safe Area when rendering.
FBRenderer::RendererCallbacks
FBPropertyListRendererCallback RendererCallbacks
List: Renderer Callbacks attached.
Definition: fbrenderer.h:753
kFBDKey3
@ kFBDKey3
'3'.
Definition: fbrenderer.h:148
kFBDKeyReturn
@ kFBDKeyReturn
Return.
Definition: fbrenderer.h:143
kFBDKeyEscape
@ kFBDKeyEscape
Escape.
Definition: fbrenderer.h:144
FBPickingMode
FBPickingMode
3D picking mode.
Definition: fbrenderer.h:125
FBRenderer::GetSchematicViewPaneIndex
int GetSchematicViewPaneIndex()
Return the pane index of the pane displaying the Schematic View.
FBRenderer::CloneViewRemove
void CloneViewRemove(FBView *pView)
Remove a new clone view to call when rendering main viewer.
FBRenderer::SelectSchematicBookmark
bool SelectSchematicBookmark(const char *pBookmarkName)
Select an existing bookmark in the Schematic View and use it as the current bookmark.
FBViewingOptions::IsInColorBufferPicking
bool IsInColorBufferPicking() const
Is the rendering routine during picking status with GL color buffer method.
FBPropertyColor
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
Definition: fbproperties.h:1454
FBDisplayMode
FBDisplayMode
Model display options.
Definition: fbrenderer.h:76
kFBDKeyF5
@ kFBDKeyF5
'F5'
Definition: fbrenderer.h:160
fbmanipulator.h
Create new manipulators using the FBManipulator class.
FBRenderer::CreateSchematicBookmark
bool CreateSchematicBookmark(const char *pBookmarkName)
Create a new bookmark in the Schematic View.
FBRenderer::UpdateCurrentSchematicBookmark
bool UpdateCurrentSchematicBookmark()
Update the current bookmark in the Schematic View.
kVerticalMode
@ kVerticalMode
Arrange all objects vertically.
Definition: fbrenderer.h:89
FBRenderer::SelectionOverrideColor
FBPropertyColor SelectionOverrideColor
Read write Property: Selection override layer color.
Definition: fbrenderer.h:747
FBRenderer::GetViewingOptions
FBViewingOptions * GetViewingOptions()
Obtain the current viewing options.
FBRendererCallback::SupportIDBufferPicking
FBPropertyBool SupportIDBufferPicking
Read write Property: Can this Renderer Callback support IDBuffer Picking.
Definition: fbrenderer.h:365
FBRendererCallback::Detach
virtual void Detach()
Callback when detach RendererCallback This callback occurs when detach this renderer callback instanc...
FBRenderer::CloneViewAdd
void CloneViewAdd(FBView *pView)
Add a new clone view to call when rendering main viewer.
fbmodel.h
Base class for Cameras.
kFBStereoDisplayAnaglyphLuminance
@ kFBStereoDisplayAnaglyphLuminance
Display in Luminance Analygh stereo mode.
Definition: fbrenderer.h:101
kFBDKey5
@ kFBDKey5
'5'.
Definition: fbrenderer.h:150
FBRenderer::IsCameraSwitcherInPane
bool IsCameraSwitcherInPane(unsigned int pPaneIndex)
Return the Camera Switcher activeness in the given pane index.
FBRenderer::SelectionForceSnapPointsDisplay
FBPropertyBool SelectionForceSnapPointsDisplay
Read write Property: Force show all feature points (pivots and etc) on selected models if true,...
Definition: fbrenderer.h:748
FBRenderer::IDBufferPickingAlpha
FBPropertyDouble IDBufferPickingAlpha
Read write Property: Those Semi-transparent (Alpha Blend) geometry(region) contribute less than this ...
Definition: fbrenderer.h:743
FBRenderer::SelectionOverride
FBPropertyBool SelectionOverride
Read write Property: Add transparent color override layer on selected models if true.
Definition: fbrenderer.h:745
kFBDKeyF7
@ kFBDKeyF7
'F7'.
Definition: fbrenderer.h:162
FBRenderer::GetCameraInPane
FBCamera * GetCameraInPane(unsigned int pPaneIndex)
Return the camera displayed in the given pane index.
FBRenderer::RendererUpdateId
FBPropertyInt RendererUpdateId
Read Only Property: Current Render Update Id. DisplaySet update, material change, texture changes and...
Definition: fbrenderer.h:750
__FBClassDeclare
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:131
FBRenderer::IDBufferPicking
FBPropertyBool IDBufferPicking
Read write Property: Use ID (Color) Buffer for picking, instead of OpenGl selection buffer picking.
Definition: fbrenderer.h:742
kFBDisplay3dIcon
@ kFBDisplay3dIcon
3D icons are displayed (3D icons are 3D elements that do not exist in the scene).
Definition: fbrenderer.h:119
FBPropertyListManipulator
PropertyList: Manipulator.
Definition: fbmanipulator.h:243
kFBStereoDisplayActive
@ kFBStereoDisplayActive
Display in active mode. User must enable OpenGL quad stereo buffer, and choose approriate stereo mode...
Definition: fbrenderer.h:97
FBRenderer::CloneViewRender
void CloneViewRender(int pWidth, int pHeight)
Viewer texture Id.
kFBDKeyF8
@ kFBDKeyF8
'F8'.
Definition: fbrenderer.h:163
FBRenderer::CurrentPaneCallbackPrefIndex
FBPropertyInt CurrentPaneCallbackPrefIndex
Read Write Property: Current Pane's Renderer Callback Preference Index.
Definition: fbrenderer.h:756
__FB_FORWARD
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
FBRenderer::DeleteSchematicBookmark
bool DeleteSchematicBookmark(const char *pBookmarkName)
Delete a bookmark from the Schematic View.
FBRenderer::RegisteredCallbackCount
FBPropertyInt RegisteredCallbackCount
Read Only Property: Registered Renderer Callback Count.
Definition: fbrenderer.h:754
FBRenderer::ArrangeObjectsInSchematicFromModel
bool ArrangeObjectsInSchematicFromModel(const FBModel &pModel)
Request to arrange a node's tree in the Schematic View, given a starting node.
kFBDisplayAll
@ kFBDisplayAll
Everything is displayed.
Definition: fbrenderer.h:120
kFBPickingModeModelsOnly
@ kFBPickingModeModelsOnly
Models-only mode (no nulls or skeletons are displayed).
Definition: fbrenderer.h:128
kFBDisplayModeFlatShade
@ kFBDisplayModeFlatShade
Flat shading.
Definition: fbrenderer.h:80
kFBStereoDisplayAnaglyph
@ kFBStereoDisplayAnaglyph
Display in Analygh stereo mode.
Definition: fbrenderer.h:100
FBRenderer::RenameSchematicBookmark
bool RenameSchematicBookmark(const char *pOldBookmarkName, const char *pNewBookmarkName)
Rename a bookmark in the Schematic View.
kFBDKeyPageUp
@ kFBDKeyPageUp
Page Up.
Definition: fbrenderer.h:135
kFBDKey1
@ kFBDKey1
'1'.
Definition: fbrenderer.h:146
kFBDKey6
@ kFBDKey6
'6'.
Definition: fbrenderer.h:151
kFBDKeyArrowRight
@ kFBDKeyArrowRight
Right.
Definition: fbrenderer.h:141
FBInputType
FBInputType
Types of input events.
Definition: fbcontrols.h:123
FBPropertyListRendererCallback::Add
virtual int Add(FBRendererCallback *pItem)
Add a RendererCallback to the property list.
FBRenderer::EvaluateMode
FBPropertyBool EvaluateMode
Read Write Property: When true (default), call to Render will perform evaluation. Useful when renderi...
Definition: fbrenderer.h:736
kFBStereoDisplayHorizontalInterlace
@ kFBStereoDisplayHorizontalInterlace
Display in Horizontal Interlace stereo mode.
Definition: fbrenderer.h:98
kFBDKeyF3
@ kFBDKeyF3
'F3'.
Definition: fbrenderer.h:158
FBRenderer::FrustumCulling
FBPropertyBool FrustumCulling
Read Write Property: Turn on/off the early frustum culling optimization.
Definition: fbrenderer.h:739
kFBStereoDisplayCheckerboard
@ kFBStereoDisplayCheckerboard
Display in Checkboard Interlace stereo mode.
Definition: fbrenderer.h:99
FBRenderer::Pick
bool Pick(int pX, int pY, FBPickInfosList &pPickInfosList, bool pNeedIntersectPosition=false)
Object picking selection.
kFBStereoDisplayLeftEye
@ kFBStereoDisplayLeftEye
Display in Left Eye Caerma, No Stereo effect.
Definition: fbrenderer.h:95
kFBDKeyArrowLeft
@ kFBDKeyArrowLeft
Left.
Definition: fbrenderer.h:139
kFBPickingModeCount
@ kFBPickingModeCount
End of enum, this valued indicates the number of picking modes available.
Definition: fbrenderer.h:129
FBRenderer::SetCameraSwitcherInPane
void SetCameraSwitcherInPane(unsigned int pPaneIndex, bool pActive)
Set/Remove the Camera Switcher in the given pane index.
kFBDKeyF11
@ kFBDKeyF11
'F11'.
Definition: fbrenderer.h:166
kFBDKeyF1
@ kFBDKeyF1
'F1'.
Definition: fbrenderer.h:156
FBRenderer::FrameCurrentCameraWithModels
bool FrameCurrentCameraWithModels(bool pAll)
Frame the current camera either with all models or with the currently selected models.
kFBStereoDisplayRightEye
@ kFBStereoDisplayRightEye
Display in Right Eye Caerma, No Stereo effect.
Definition: fbrenderer.h:96
FBCreatePickInfosList
K_DLLIMPORT FBPickInfosList * FBCreatePickInfosList()
Create a FBPickInfosList object.
FBModelList
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
Definition: fbcharacter.h:597
FBRenderer::SetCameraInPane
void SetCameraInPane(FBCamera *pCamera, unsigned int pPaneIndex)
Set the camera to display in the given pane index.
FBRenderer::ArrangeAllInSchematic
void ArrangeAllInSchematic(FBArrangeMode pMode)
Request to arrange all objects in schematic view .
FBRenderOptions
Definition: fbshader.h:345
FBRenderer::GetDisplayableGeometryInCameraFrustum
const FBModelList & GetDisplayableGeometryInCameraFrustum(FBModelList *pModelList=NULL, FBCamera *pCamera=NULL)
Get a list of displayable geometry inside given camera's frustum.
kFBStereoDisplayFreeviewCrossed
@ kFBStereoDisplayFreeviewCrossed
Display in crossed free view stereo mode.
Definition: fbrenderer.h:103
FBPropertyBool
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
Definition: fbproperties.h:1308
FBLight
Light class.
Definition: fblight.h:86
FBRenderer::CurrentCamera
FBPropertyCamera CurrentCamera
Definition: fbrenderer.h:726
FBRendererCallback::GetCallbackName
virtual const char * GetCallbackName() const =0
Return Callback Name.
kFBDisplayLight
@ kFBDisplayLight
Lights are displayed.
Definition: fbrenderer.h:117
fbcomponent.h
Basic class definitions.
FBRenderer::HideManipulatorsOnManip
FBPropertyBool HideManipulatorsOnManip
Read Write Property: Hide manipulators UI elements while manipulating.
Definition: fbrenderer.h:757
FBRendererCallback::DetachDisplayContext
virtual void DetachDisplayContext(FBViewingOptions *pViewOption)
Callback to ask invalidate GL resources.
FBRenderer::DisplayableLightCount
FBPropertyInt DisplayableLightCount
Read Only Property: Displayable light count.
Definition: fbrenderer.h:752
FBDeviceKeyboardKey
FBDeviceKeyboardKey
Keyboard keys (for input).
Definition: fbrenderer.h:134
FBRenderer::CurrentPaneCallbackIndex
FBPropertyInt CurrentPaneCallbackIndex
Read Write Property: Current Pane's Renderer Callback Index.
Definition: fbrenderer.h:755
kFBDKey8
@ kFBDKey8
'8'.
Definition: fbrenderer.h:153
kFBDKeyF10
@ kFBDKeyF10
'F10'.
Definition: fbrenderer.h:165
kFBDisplayNone
@ kFBDisplayNone
Nothing is displayed.
Definition: fbrenderer.h:112
kFBDKey0
@ kFBDKey0
'0'.
Definition: fbrenderer.h:155
FBRenderer::DisplayNormals
FBPropertyBool DisplayNormals
Read Write Property: Display model normals in main viewer.
Definition: fbrenderer.h:740
FBViewingOptions::PaneIndex
int PaneIndex() const
Current Viewer Pane being rendered.
FBRenderer::RectPick
bool RectPick(int pX1, int pY1, int pX2, int pY2, FBPickInfosList &pPickInfosList)
Object rectangle selection.
FBRenderer::SetSchematicViewInPane
void SetSchematicViewInPane(unsigned int pPaneIndex, bool pActive)
Set/Remove the Schematic View in the given pane index.
FBRendererCallback
Open Reality renderer callback interface.
Definition: fbrenderer.h:311
FBRenderer::IsModelInsideCameraFrustum
bool IsModelInsideCameraFrustum(FBModel *pGeometry, FBCamera *pCamera=NULL)
To tell if given model is located inside camera's frustum.
kFBDKeyArrowUp
@ kFBDKeyArrowUp
Up.
Definition: fbrenderer.h:140
FBRenderer::GetLastPickInfoList
int GetLastPickInfoList(FBPickInfosList &pPickInfosList)
Return the last picking info list in the current view pane.
FBRenderer::OGLSetupSceneLights
void OGLSetupSceneLights(FBRenderOptions &pRenderOptions)
Setup the scene lights in OpenGL.
FBRenderer::GetSelectedPaneIndex
unsigned int GetSelectedPaneIndex() const
Return the pane index associated with the selected pane in the active viewer's layout.
FBPropertyListComponent
PropertyList: Concrete class for PropertyList of component
Definition: fbcomponent.h:536
FBViewingOptions::StereoDisplayMode
FBStereoDisplayMode & StereoDisplayMode()
Get a reference to the stereo display mode.
kFBDisplayModeHardShade
@ kFBDisplayModeHardShade
Hard shading.
Definition: fbrenderer.h:79
kFBDisplayModeWireFrame
@ kFBDisplayModeWireFrame
Wire-frame rendering.
Definition: fbrenderer.h:81
FBViewingOptions::ShowCameraLabel
bool & ShowCameraLabel()
Show Camera Label when rendering.
FBArrayTemplate
Template class to contain an array of items.
Definition: fbarray.h:78
FBInputModifier
FBInputModifier
Input Modifiers (Ctrl, Alt, Shift).
Definition: fbcontrols.h:141
FBRendererCallback::DefaultCameraBackPlateRendering
FBPropertyBool DefaultCameraBackPlateRendering
Read write Property: Set true to use default camera back plate rendering; set false to disable it.
Definition: fbrenderer.h:367
FBRenderer::SetSelectedPaneIndex
bool SetSelectedPaneIndex(unsigned int pPaneIndex)
Select the pane associated with the given pane index in the active viewer's layout.
FBRendererCallback::GetCallbackPrefName
virtual const char * GetCallbackPrefName(unsigned int pIndex) const
Return Callback Preference Name.
kHorizontalMode
@ kHorizontalMode
Arrange all objects horizontally.
Definition: fbrenderer.h:88
FBViewingOptions::RenderCallbackPrefIndex
unsigned int RenderCallbackPrefIndex() const
Current Render callback Settings Index.
FB_FORWARD
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:62
FBViewingOptions::PickingMode
FBPickingMode & PickingMode()
Get a reference to the picking mode.
FBRenderer::RenderBegin
bool RenderBegin(int pX, int pY, int pW, int pH)
RenderBegin.
FBRenderer::KeyboardInput
void KeyboardInput(FBDeviceKeyboardKey pKeyIndex, bool pKeyState, bool pIsTrigger=false)
Keyboard input.
FBRendererCallback::GetCallbackPrefCount
virtual unsigned int GetCallbackPrefCount() const
Return Callback Preference Count, For adjust render settings, quality, performance and etc....
FBRenderer::ShowStats
FBPropertyBool ShowStats
Read Write Property: Show the stats about FPS, Evaluation rate ... like when using Shift-F in main vi...
Definition: fbrenderer.h:738
fbcontrols.h
Contains the user interface components for the SDK.
kFBDKeyF4
@ kFBDKeyF4
'F4'.
Definition: fbrenderer.h:159
kFBDisplayModeTexture
@ kFBDisplayModeTexture
Textures are displayed.
Definition: fbrenderer.h:78
FBRenderer::IDBufferDisplay
FBPropertyBool IDBufferDisplay
Read write Property: Render Model's unique Color ID into color Buffer (used for picking)
Definition: fbrenderer.h:744
FBRenderer::PickNormalized
bool PickNormalized(float pX, float pY, FBPickInfosList &pPickInfosList, bool pNeedIntersectPosition=false, int pPaneId=-1)
Object picking selection.
FBRenderer::GetSchematicNodesBoundingBoxFromModel
bool GetSchematicNodesBoundingBoxFromModel(FBModel *pModel, bool pConsiderCollapsedNodes, int &pTop, int &pLeft, int &pBottom, int &pRight)
Returns the bounding box (top, left, bottom, right) of a node's tree in the Schematic View,...
FB_DEFINE_COMPONENT
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
FBView
Generic view.
Definition: fbcontrols.h:1899
kFBDKeyArrowDown
@ kFBDKeyArrowDown
Down.
Definition: fbrenderer.h:142
FBRenderer::HideManipulatorsOnPlayback
FBPropertyBool HideManipulatorsOnPlayback
Read Write Property: Hide manipulators UI elements during playback.
Definition: fbrenderer.h:758
FBRenderer::Manipulators
FBPropertyListManipulator Manipulators
List: of manipulators.
Definition: fbrenderer.h:731
FBCamera
Creates custom cameras and manages system cameras.
Definition: fbcamera.h:206
FBRenderer::MouseInput
bool MouseInput(int pX, int pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pWheelDeltaValue=0, int pLayer=-1)
Mouse input.
FBPickInfos::mSubItemIndex
int mSubItemIndex
Picked sub item index, -1 for whole object.
Definition: fbrenderer.h:284
FBRenderer::AutoEvaluate
FBPropertyBool AutoEvaluate
Read Write Property: Indicate if a call to RenderBegin will also cause a re-evaluation of the scene.
Definition: fbrenderer.h:735
fbshader.h
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.
FBViewingOptions::ShadingMode
FBModelShadingMode & ShadingMode()
Get a reference to the display mode.
FBRenderer::Render
bool Render(int pLayer=-1)
Renders one frame.
kFBDKeyF2
@ kFBDKeyF2
'F2'.
Definition: fbrenderer.h:157
FBSDK_DLL
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fbrenderer.h:48
FBModel
Model class.
Definition: fbmodel.h:274
FBComponent
MotionBuilder SDK base class.
Definition: fbcomponent.h:651
FBRenderer::GetSchematicNodesBoundingBox
bool GetSchematicNodesBoundingBox(bool pConsiderCollapsedNodes, int &pTop, int &pLeft, int &pBottom, int &pRight)
Returns the bounding box (top, left, bottom, right) used by all the Schematic View nodes.
FBDisplayWhat
FBDisplayWhat
Model display mask This mask determines what types of models are displayed by the renderer.
Definition: fbrenderer.h:111
FBRenderer::SetViewport
void SetViewport(int pX, int pY, int pW, int pH)
Must be called before inputing if the same renderer is used on multiple views/cameras in the same app...
kFBDKey7
@ kFBDKey7
'7'.
Definition: fbrenderer.h:152
FBRenderer::DisplaySetUpdateId
FBPropertyInt DisplaySetUpdateId
Read Only Property: Current DisplaySet Update Id. Add/Delete models, Show/Hide models will affect Dis...
Definition: fbrenderer.h:749
kFBDKeyEnd
@ kFBDKeyEnd
End.
Definition: fbrenderer.h:137
kFBStereoDisplayModeCount
@ kFBStereoDisplayModeCount
update this count value when add new mode
Definition: fbrenderer.h:104
FBRenderer::SetPaneCount
void SetPaneCount(unsigned int pPaneCount)
Set the number of panes to display in the viewer's layout.
FBRenderer::Background
FBPropertyBool Background
Read Write Property: The renderer.
Definition: fbrenderer.h:737
FBRenderer::AdvancedLightingMode
FBPropertyBool AdvancedLightingMode
Read write Property: Turn on/off advanced lighting setting UI widgets.
Definition: fbrenderer.h:776
FBRenderer::FBRenderer
FBRenderer(HIObject pObject)
Constructor.
FBRenderer::ManipulatorTransform
FBPropertyManipulatorTransform ManipulatorTransform
Read Only Property: Manipulator responsible of moving objects
Definition: fbrenderer.h:730
FBRendererCallback::FBRendererCallback
FBRendererCallback(const char *pName)
Constructor.
FBViewingOptions
Viewing options for rendering.
Definition: fbrenderer.h:176
kFBPickingModeStandard
@ kFBPickingModeStandard
Standard picking mode.
Definition: fbrenderer.h:126
FBVector3d
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
Definition: fbtypes.h:438
FBViewingOptions::IsInSelectionBufferPicking
bool IsInSelectionBufferPicking() const
Is the rendering routine during picking status with GL selection buffer method.
FBPickInfos::FBPickInfos
FBPickInfos(FBModel *pModel, FBVector3d pPoint, FBVector3d pNormal, int pSubItemIndex)
FBPickInfos.
Definition: fbrenderer.h:278
kFBDKeyF9
@ kFBDKeyF9
'F9'.
Definition: fbrenderer.h:164
kFBDKeyHome
@ kFBDKeyHome
Home.
Definition: fbrenderer.h:138
FBPickInfos::mPoint
FBVector3d mPoint
Location of the pick on the model's surface in world space.
Definition: fbrenderer.h:282
FBModelShadingMode
FBModelShadingMode
Modes for model shading.
Definition: fbmodel.h:181