Open Reality Reference Guide
 
Loading...
Searching...
No Matches
fbrenderer.h
Go to the documentation of this file.
1#ifndef __FBRENDERER_H__
2#define __FBRENDERER_H__
3/**************************************************************************
4Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5All Rights Reserved.
6
7The coded instructions, statements, computer programs, and/or related
8material (collectively the "Data") in these files contain unpublished
9information proprietary to Autodesk, Inc. and/or its licensors, which is
10protected by Canada and United States of America federal copyright law
11and by international treaties.
12
13The Data may not be disclosed or distributed to third parties, in whole
14or in part, without the prior written consent of Autodesk, Inc.
15("Autodesk").
16
17THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24FREE.
25
26IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36
37**************************************************************************/
38
43#include <kaydaradef.h>
44#ifndef FBSDK_DLL
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
63namespace FBSDKNamespace {
64#endif
65
68
70
71 FB_DEFINE_COMPONENT( FBSDK_DLL, Renderer );
72
74
83 };
84
90 };
91
93 {
105 };
106
108
113 kFBDisplayNull = (1 << 0),
114 kFBDisplayMarker = (1 << 1),
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
168 };
169
170 FB_DEFINE_ENUM( FBSDK_DLL, DeviceKeyboardKey );
171
176 {
177 public:
181
186
191
196
201
205
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
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); \
403public: \
404 ClassName(const char* pName):Parent(pName) { FBClassInit; } \
405private:
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
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
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
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#if !defined(K_NO_MANIPULATOR)
727 FBPropertyManipulatorTransform ManipulatorTransform;
729#endif
730
731 FBPropertyScene Scene;
756
761
774
780
784 void CloneViewAdd(FBView* pView);
785
790
795 void CloneViewRender(int pWidth, int pHeight);
796
812 void SetCameraInPane( FBCamera* pCamera, unsigned int pPaneIndex );
813
826 FBCamera* GetCameraInPane( unsigned int pPaneIndex );
827
831 void SetPaneCount( unsigned int pPaneCount );
832
836 unsigned int GetPaneCount();
837
842 bool SetSelectedPaneIndex( unsigned int pPaneIndex );
843
847 unsigned int GetSelectedPaneIndex() const;
848
855 void SetSchematicViewInPane( unsigned int pPaneIndex, bool pActive );
856
861
869 void SetCameraSwitcherInPane( unsigned int pPaneIndex, bool pActive );
870
877 bool IsCameraSwitcherInPane( unsigned int pPaneIndex );
878 };
879
880#ifdef FBSDKUseNamespace
881}
882#endif
883#endif /* this must be the last line of this file */
Template class to contain an array of items.
Definition fbarray.h:78
Creates custom cameras and manages system cameras.
Definition fbcamera.h:206
MotionBuilder SDK base class.
Light class.
Definition fblight.h:86
Model class.
Definition fbmodel.h:274
PropertyList: Concrete class for PropertyList of component
PropertyList: Manipulator.
PropertyList: Texture
Definition fbrenderer.h:420
FBRendererCallback * operator[](int pIndex)
Get the texture at a specific index.
virtual int Add(FBRendererCallback *pItem)
Add a RendererCallback to the property list.
Open Reality renderer callback interface.
Definition fbrenderer.h:311
FBPropertyBool DefaultLightGroundProjectionRendering
Read write Property: Set true to use default light ground projection rendering; set false to disable ...
Definition fbrenderer.h:368
virtual void Attach()
Callback when attach RendererCallback This callback occurs when attach this renderer callback instanc...
FBPropertyBool DefaultCameraFrontPlateRendering
Read write Property: Set true to use default camera front plate rendering; set false to disable it.
Definition fbrenderer.h:366
virtual const char * GetCallbackPrefName(unsigned int pIndex) const
Return Callback Preference Name.
virtual const char * GetCallbackDesc() const =0
Return Callback Desc Name.
FBRendererCallback(const char *pName)
Constructor.
virtual void Render(FBRenderOptions *pRenderOptions)
Callback for rendering.
FBPropertyBool DefaultCameraBackPlateRendering
Read write Property: Set true to use default camera back plate rendering; set false to disable it.
Definition fbrenderer.h:367
FBPropertyBool SupportIDBufferPicking
Read write Property: Can this Renderer Callback support IDBuffer Picking.
Definition fbrenderer.h:365
virtual void Detach()
Callback when detach RendererCallback This callback occurs when detach this renderer callback instanc...
virtual const char * GetCallbackName() const =0
Return Callback Name.
virtual void DetachDisplayContext(FBViewingOptions *pViewOption)
Callback to ask invalidate GL resources.
FBPropertyBool DefaultLightVolumeRendering
Read write Property: Set true to use default light volume rendering; set false to disable it.
Definition fbrenderer.h:369
virtual unsigned int GetCallbackPrefCount() const
Return Callback Preference Count, For adjust render settings, quality, performance and etc....
Open Reality renderer interface.
Definition fbrenderer.h:446
bool Render(int pLayer=-1)
Renders one frame.
FBLight * GetDisplayableLight(int pIndex)
Get the displayable light.
const FBModelList & GetDisplayableGeometryInCameraFrustum(FBModelList *pModelList=NULL, FBCamera *pCamera=NULL)
Get a list of displayable geometry inside given camera's frustum.
bool SelectSchematicBookmark(const char *pBookmarkName)
Select an existing bookmark in the Schematic View and use it as the current bookmark.
bool PreRender(int pLayer=-1)
PreRenders one frame (needed for some shaders) This functions destroys the frame buffer content and m...
FBPropertyInt CurrentPaneCallbackPrefIndex
Read Write Property: Current Pane's Renderer Callback Preference Index.
Definition fbrenderer.h:753
FBPropertyInt RegisteredCallbackCount
Read Only Property: Registered Renderer Callback Count.
Definition fbrenderer.h:751
FBPropertyBool SelectionForceSnapPointsDisplay
Read write Property: Force show all feature points (pivots and etc) on selected models if true,...
Definition fbrenderer.h:745
void SetSchematicViewInPane(unsigned int pPaneIndex, bool pActive)
Set/Remove the Schematic View in the given pane index.
bool UpdateCurrentSchematicBookmark()
Update the current bookmark in the Schematic View.
bool RectPickNormalized(float pX1, float pY1, float pX2, float pY2, FBPickInfosList &pPickInfosList, int pPaneId=-1)
Object rectangle selection.
void CloneViewAdd(FBView *pView)
Add a new clone view to call when rendering main viewer.
bool FrameCurrentCameraWithModels(bool pAll)
Frame the camera or Schematic View in the current pane either with all models or with the currently s...
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...
unsigned int GetSelectedPaneIndex() const
Return the pane index associated with the selected pane in the active viewer's layout.
FBPropertyBool Background
Read Write Property: The renderer.
Definition fbrenderer.h:734
FBPropertyBool HideManipulatorsOnManip
Read Write Property: Hide manipulators UI elements while manipulating.
Definition fbrenderer.h:754
FBPropertyBool FrustumCulling
Read Write Property: Turn on/off the early frustum culling optimization.
Definition fbrenderer.h:736
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.
FBPropertyManipulatorTransform ManipulatorTransform
Read Only Property: Manipulator responsible of moving objects
Definition fbrenderer.h:727
void OGLSetupSceneLights(FBRenderOptions &pRenderOptions)
Setup the scene lights in OpenGL.
void SetPaneCount(unsigned int pPaneCount)
Set the number of panes to display in the viewer's layout.
int GetLastPickInfoList(FBPickInfosList &pPickInfosList)
Return the last picking info list in the current view pane.
bool CreateSchematicBookmark(const char *pBookmarkName)
Create a new bookmark in the Schematic View.
FBPropertyInt DisplayableGeometryCount
Read Only Property: Displayable geometry count.
Definition fbrenderer.h:748
FBPropertyBool AdvancedLightingMode
Read write Property: Turn on/off advanced lighting setting UI widgets.
Definition fbrenderer.h:773
FBModel * GetDisplayableGeometry(int pIndex)
Get the displayable geometry model.
FBPropertyDouble SelectionOverrideTransparency
Read write Property: Selection override layer transparency.
Definition fbrenderer.h:743
FBPropertyBool IDBufferDisplay
Read write Property: Render Model's unique Color ID into color Buffer (used for picking)
Definition fbrenderer.h:741
bool DeleteSchematicBookmark(const char *pBookmarkName)
Delete a bookmark from the Schematic View.
bool MouseInputNormalized(float pX, float pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pWheelDeltaValue, int pLayer=-1, int pPaneId=-1)
Mouse input.
FBPropertyColor SelectionOverrideColor
Read write Property: Selection override layer color.
Definition fbrenderer.h:744
bool IsCurrentSchematicBookmarkDirty() const
Return if the current bookmark used by the Schematic View is dirty or not.
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,...
FBPropertyInt DisplayableLightCount
Read Only Property: Displayable light count.
Definition fbrenderer.h:749
FBPropertyInt DisplaySetUpdateId
Read Only Property: Current DisplaySet Update Id. Add/Delete models, Show/Hide models will affect Dis...
Definition fbrenderer.h:746
FBPropertyBool IDBufferPicking
Read write Property: Use ID (Color) Buffer for picking, instead of OpenGl selection buffer picking.
Definition fbrenderer.h:739
bool IsCameraSwitcherInPane(unsigned int pPaneIndex)
Return the Camera Switcher activeness in the given pane index.
void CloneViewRender(int pWidth, int pHeight)
Viewer texture Id.
bool SetViewingOptions(FBViewingOptions &pOptions)
Set the viewing options.
void SetCameraSwitcherInPane(unsigned int pPaneIndex, bool pActive)
Set/Remove the Camera Switcher in the given pane index.
void KeyboardInput(FBDeviceKeyboardKey pKeyIndex, bool pKeyState, bool pIsTrigger=false)
Keyboard input.
FBPropertyListManipulator Manipulators
List: of manipulators.
Definition fbrenderer.h:728
FBViewingOptions * GetViewingOptions()
Obtain the current viewing options.
bool Pick(int pX, int pY, FBPickInfosList &pPickInfosList, bool pNeedIntersectPosition=false)
Object picking selection.
bool RectPick(int pX1, int pY1, int pX2, int pY2, FBPickInfosList &pPickInfosList)
Object rectangle selection.
FBPropertyBool AdvancedMaterialMode
Read write Property: Turn on/off advanced material setting UI widgets.
Definition fbrenderer.h:760
void SetCameraInPane(FBCamera *pCamera, unsigned int pPaneIndex)
Set the camera to display in the given pane index.
void ArrangeAllInSchematic(FBArrangeMode pMode)
Request to arrange all objects in schematic view .
FBPropertyInt CurrentPaneCallbackIndex
Read Write Property: Current Pane's Renderer Callback Index.
Definition fbrenderer.h:752
bool RenderBegin(int pX, int pY, int pW, int pH)
RenderBegin.
FBPropertyBool HideManipulatorsOnPlayback
Read Write Property: Hide manipulators UI elements during playback.
Definition fbrenderer.h:755
FBPropertyBool SelectionOverride
Read write Property: Add transparent color override layer on selected models if true.
Definition fbrenderer.h:742
void ArrangeSelectedObjectsInSchematic()
Request to arrange selected objects in schematic view .
FBPropertyInt RendererUpdateId
Read Only Property: Current Render Update Id. DisplaySet update, material change, texture changes and...
Definition fbrenderer.h:747
FBPropertyBool AutoEvaluate
Read Write Property: Indicate if a call to RenderBegin will also cause a re-evaluation of the scene.
Definition fbrenderer.h:732
FBPropertyBool ShowStats
Read Write Property: Show the stats about FPS, Evaluation rate ... like when using Shift-F in main vi...
Definition fbrenderer.h:735
bool SetSelectedPaneIndex(unsigned int pPaneIndex)
Select the pane associated with the given pane index in the active viewer's layout.
int GetViewerTextureId()
Viewer texture Id.
FBPropertyBool PickingEnabled
Read Write Property: Is picking in the viewer enabled?
Definition fbrenderer.h:738
bool RenderEnd(FBView *pView=NULL)
RenderEnd.
void CloneViewRemove(FBView *pView)
Remove a new clone view to call when rendering main viewer.
FBStringList GetSchematicBookmarkNames() const
Return the bookmark names available in the Schematic View.
const char * GetCurrentSchematicBookmarkName() const
Return the current bookmark name used by the Schematic View.
FBRenderer(HIObject pObject)
Constructor.
FBCamera * GetCameraInPane(unsigned int pPaneIndex)
Return the camera displayed in the given pane index.
bool RenameSchematicBookmark(const char *pOldBookmarkName, const char *pNewBookmarkName)
Rename a bookmark in the Schematic View.
FBPropertyBool DisplayNormals
Read Write Property: Display model normals in main viewer.
Definition fbrenderer.h:737
FBPropertyScene Scene
Read Write Property: Scene that the renderer will use/draw
Definition fbrenderer.h:731
bool ArrangeObjectsInSchematicFromModel(const FBModel &pModel)
Request to arrange a node's tree in the Schematic View, given a starting node.
FBPropertyBool EvaluateMode
Read Write Property: When true (default), call to Render will perform evaluation. Useful when renderi...
Definition fbrenderer.h:733
FBPropertyListRendererCallback RendererCallbacks
List: Renderer Callbacks attached.
Definition fbrenderer.h:750
bool MouseInput(int pX, int pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pWheelDeltaValue=0, int pLayer=-1)
Mouse input.
bool IsModelInsideCameraFrustum(FBModel *pGeometry, FBCamera *pCamera=NULL)
To tell if given model is located inside camera's frustum.
bool PickNormalized(float pX, float pY, FBPickInfosList &pPickInfosList, bool pNeedIntersectPosition=false, int pPaneId=-1)
Object picking selection.
FBPropertyDouble IDBufferPickingAlpha
Read write Property: Those Semi-transparent (Alpha Blend) geometry(region) contribute less than this ...
Definition fbrenderer.h:740
int GetSchematicViewPaneIndex()
Return the pane index of the pane displaying the Schematic View.
unsigned int GetPaneCount()
Return the number of panes displayed in the viewer's layout.
String list.
Definition fbstring.h:208
Generic view.
Viewing options for rendering.
Definition fbrenderer.h:176
int & DisplayWhat()
Get a reference to the display mask.
unsigned int RenderCallbackPrefIndex() const
Current Render callback Settings Index.
bool & ShowCameraLabel()
Show Camera Label when rendering.
bool IsInSelectionBufferPicking() const
Is the rendering routine during picking status with GL selection buffer method.
bool IsInColorBufferPicking() const
Is the rendering routine during picking status with GL color buffer method.
bool & ShowTimeCode()
Show Time Code when rendering.
FBPickingMode & PickingMode()
Get a reference to the picking mode.
bool & ShowSafeArea()
Show Safe Area when rendering.
FBCamera * GetViewingCamera()
Get a reference to the current viewing camera.
FBModelShadingMode & ShadingMode()
Get a reference to the display mode.
int PaneIndex() const
Current Viewer Pane being rendered.
FBStereoDisplayMode & StereoDisplayMode()
Get a reference to the stereo display mode.
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Contains the user interface components for the SDK.
FBInputModifier
Input Modifiers (Ctrl, Alt, Shift).
Definition fbcontrols.h:141
FBInputType
Types of input events.
Definition fbcontrols.h:123
Create new manipulators using the FBManipulator class.
Base class for Cameras.
FBModelShadingMode
Modes for model shading.
Definition fbmodel.h:181
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
class K_DLLIMPORT FBArrayTemplate< FBPickInfos > FBPickInfosList
typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList
Definition fbrenderer.h:290
K_DLLIMPORT FBPickInfosList * FBCreatePickInfosList()
Create a FBPickInfosList object.
FBArrangeMode
Modes for arranging objects in schematic view.
Definition fbrenderer.h:87
@ kVerticalMode
Arrange all objects vertically.
Definition fbrenderer.h:89
@ kHorizontalMode
Arrange all objects horizontally.
Definition fbrenderer.h:88
FBDeviceKeyboardKey
Keyboard keys (for input).
Definition fbrenderer.h:134
@ kFBDKey3
'3'.
Definition fbrenderer.h:148
@ kFBDKey6
'6'.
Definition fbrenderer.h:151
@ kFBDKey9
'9'.
Definition fbrenderer.h:154
@ kFBDKey4
'4'.
Definition fbrenderer.h:149
@ kFBDKeyHome
Home.
Definition fbrenderer.h:138
@ kFBDKeyF5
'F5'
Definition fbrenderer.h:160
@ kFBDKeyEscape
Escape.
Definition fbrenderer.h:144
@ kFBDKeyF4
'F4'.
Definition fbrenderer.h:159
@ kFBDKey7
'7'.
Definition fbrenderer.h:152
@ kFBDKeyF12
'F12'.
Definition fbrenderer.h:167
@ kFBDKey5
'5'.
Definition fbrenderer.h:150
@ kFBDKeyPageUp
Page Up.
Definition fbrenderer.h:135
@ kFBDKey2
'2'.
Definition fbrenderer.h:147
@ kFBDKeyF6
'F6'.
Definition fbrenderer.h:161
@ kFBDKeyF8
'F8'.
Definition fbrenderer.h:163
@ kFBDKey1
'1'.
Definition fbrenderer.h:146
@ kFBDKeyArrowUp
Up.
Definition fbrenderer.h:140
@ kFBDKey0
'0'.
Definition fbrenderer.h:155
@ kFBDKeyF10
'F10'.
Definition fbrenderer.h:165
@ kFBDKeyArrowLeft
Left.
Definition fbrenderer.h:139
@ kFBDKeyF7
'F7'.
Definition fbrenderer.h:162
@ kFBDKeyArrowRight
Right.
Definition fbrenderer.h:141
@ kFBDKeyF9
'F9'.
Definition fbrenderer.h:164
@ kFBDKeySpace
Space bar.
Definition fbrenderer.h:145
@ kFBDKeyF2
'F2'.
Definition fbrenderer.h:157
@ kFBDKeyF11
'F11'.
Definition fbrenderer.h:166
@ kFBDKeyPageDown
Page Down.
Definition fbrenderer.h:136
@ kFBDKeyF3
'F3'.
Definition fbrenderer.h:158
@ kFBDKey8
'8'.
Definition fbrenderer.h:153
@ kFBDKeyReturn
Return.
Definition fbrenderer.h:143
@ kFBDKeyArrowDown
Down.
Definition fbrenderer.h:142
@ kFBDKeyEnd
End.
Definition fbrenderer.h:137
@ kFBDKeyF1
'F1'.
Definition fbrenderer.h:156
K_DLLIMPORT void FBDestroyPickInfosList(FBPickInfosList *pPickInfosList)
Delete a FBPickInfosList object.
FBStereoDisplayMode
Definition fbrenderer.h:93
@ kFBStereoDisplayAnaglyph
Display in Analygh stereo mode.
Definition fbrenderer.h:100
@ kFBStereoDisplayActive
Display in active mode. User must enable OpenGL quad stereo buffer, and choose approriate stereo mode...
Definition fbrenderer.h:97
@ kFBStereoDisplayRightEye
Display in Right Eye Caerma, No Stereo effect.
Definition fbrenderer.h:96
@ kFBStereoDisplayHorizontalInterlace
Display in Horizontal Interlace stereo mode.
Definition fbrenderer.h:98
@ kFBStereoDisplayAnaglyphLuminance
Display in Luminance Analygh stereo mode.
Definition fbrenderer.h:101
@ kFBStereoDisplayFreeviewCrossed
Display in crossed free view stereo mode.
Definition fbrenderer.h:103
@ kFBStereoDisplayCheckerboard
Display in Checkboard Interlace stereo mode.
Definition fbrenderer.h:99
@ kFBStereoDisplayCenterEye
Display in Center Eye Camera, No Stereo effect.
Definition fbrenderer.h:94
@ kFBStereoDisplayModeCount
update this count value when add new mode
Definition fbrenderer.h:104
@ kFBStereoDisplayFreeviewParallel
Display in parallel free view stereo mode.
Definition fbrenderer.h:102
@ kFBStereoDisplayLeftEye
Display in Left Eye Caerma, No Stereo effect.
Definition fbrenderer.h:95
FBDisplayMode
Model display options.
Definition fbrenderer.h:76
@ kFBDisplayModeHardShade
Hard shading.
Definition fbrenderer.h:79
@ kFBDisplayModeTexture
Textures are displayed.
Definition fbrenderer.h:78
@ kFBDisplayModeFlatShade
Flat shading.
Definition fbrenderer.h:80
@ kFBDisplayModeWireFrame
Wire-frame rendering.
Definition fbrenderer.h:81
@ kFBDisplayModeDefault
Use default display mode.
Definition fbrenderer.h:77
@ kFBDisplayModeCount
End of enum, this value indicates the number of display modes available.
Definition fbrenderer.h:82
FBPickingMode
3D picking mode.
Definition fbrenderer.h:125
@ kFBPickingModeStandard
Standard picking mode.
Definition fbrenderer.h:126
@ kFBPickingModeCount
End of enum, this valued indicates the number of picking modes available.
Definition fbrenderer.h:129
@ kFBPickingModeXRay
X-Ray picking mode (obstructed models are displayed in overlay).
Definition fbrenderer.h:127
@ kFBPickingModeModelsOnly
Models-only mode (no nulls or skeletons are displayed).
Definition fbrenderer.h:128
FBDisplayWhat
Model display mask This mask determines what types of models are displayed by the renderer.
Definition fbrenderer.h:111
@ kFBDisplayCamera
Cameras are displayed.
Definition fbrenderer.h:118
@ kFBDisplayMarker
Markers are displayed.
Definition fbrenderer.h:114
@ kFBDisplayNull
Null models are displayed.
Definition fbrenderer.h:113
@ kFBDisplayCenter
Centers are displayed.
Definition fbrenderer.h:116
@ kFBDisplaySkeleton
Skeletons and bones are displayed.
Definition fbrenderer.h:115
@ kFBDisplayLight
Lights are displayed.
Definition fbrenderer.h:117
@ kFBDisplayAll
Everything is displayed.
Definition fbrenderer.h:120
@ kFBDisplay3dIcon
3D icons are displayed (3D icons are 3D elements that do not exist in the scene).
Definition fbrenderer.h:119
@ kFBDisplayNone
Nothing is displayed.
Definition fbrenderer.h:112
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:62
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
Definition fbtypes.h:438
Picking information structure.
Definition fbrenderer.h:271
int mSubItemIndex
Picked sub item index, -1 for whole object.
Definition fbrenderer.h:284
FBVector3d mNormal
Normal of the pick on the model's surface in world space.
Definition fbrenderer.h:283
FBVector3d mPoint
Location of the pick on the model's surface in world space.
Definition fbrenderer.h:282
FBPickInfos(FBModel *pModel, FBVector3d pPoint, FBVector3d pNormal, int pSubItemIndex)
FBPickInfos.
Definition fbrenderer.h:278
FBModel * mModel
Model picked.
Definition fbrenderer.h:281