Open Reality Reference Guide
fbdevicelayout.h
Go to the documentation of this file.
1 #ifndef __FBDEVICELAYOUT_H__
2 #define __FBDEVICELAYOUT_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
48  #define FBSDK_DLL K_DLLIMPORT
49 #endif
50 
51 // Core includes
52 #include <fbsdk/fbcore.h> // FBPropertyDevice
53 
54 // UI includes
55 #include <fbcontrols/fbcontrols.h>
56 
57 // Namespace declaration
58 #ifdef FBSDKUseNamespace
59  namespace FBSDKNamespace {
60 #endif
61 
62 #ifndef FB_KERNEL
65 #endif
66 
67 #if !defined(K_NO_OPTICAL)
69 #endif
70 
76 #define FBRegisterDeviceLayout( ClassName,UniqueNameStr, IconFilename ) \
77  HIObject RegisterDeviceLayout##ClassName( HIObject /*pOwner*/,const char * /*pName*/,void *pData) \
78  {\
79  ClassName *Class = new ClassName( (FBDevice*)FBGetFBObject((HIObject)pData) ); \
80  Class->mAllocated = true; \
81  if (Class->FBCreate()) { \
82  return Class->GetHIObject(); \
83  } else { \
84  delete Class; \
85  return NULL; \
86  } \
87  } \
88  FBLibraryModule( ClassName ) \
89  { \
90  FBRegisterObject( ClassName,"UI_Associated_ClassName",UniqueNameStr,UniqueNameStr" Device Layout",RegisterDeviceLayout##ClassName, true, IconFilename );\
91  }
92 
97 #define FBDeviceLayoutDeclare( ClassName,Parent ) \
98  FBClassDeclare( ClassName,Parent ); \
99  public: \
100  ClassName(FBDevice* pDevice):Parent(pDevice) { FBClassInit; } \
101  private:
102 
106 #define FBDeviceLayoutImplementation( ThisComponent ) \
107  FBClassImplementation( ThisComponent )
108 
110 // FBDeviceLayout
113 
120 
121 public:
125  FBDeviceLayout( FBDevice* pDevice = NULL );
126 
127  FBPropertyDevice Device;
128 };
129 
130 #if !defined(K_NO_OPTICAL)
132 // FBDeviceOpticalLayout
135 
138 {
139  // Basic declaration macros
141 
142  public:
145  kGUIModelOpticalList = 1<<0,
146  kGUIModelOpticalCreate = 1<<1,
147  kGUIModelOpticalDampingTime = 1<<2,
148  kGUIDeviceStatus = 1<<3,
149  kGUIDeviceReset = 1<<4,
150  kGUIViewer = 1<<5
151  };
152 
156  FBDeviceOpticalLayout( FBDevice* pDevice = NULL );
157 
158  //---- See base class ----
159  // Standard device virtual functions creation
160  virtual bool FBCreate() override;
161 
162  public:
165 };
166 #endif
167 
168 #ifndef FB_KERNEL
169 /**************************************************************************
170  **************************************************************************/
173 #define FBTRACKER_NO_LENSFILE "-- no lens file --"
174 
177 {
178  //--- Open Reality declaration.
180  public:
181  FBDeviceCameraLayout(FBDevice* pDevice);
182 
183  //--- Open Reality Creation/Destruction.
184  virtual bool FBCreate() override;
185  virtual void FBDestroy() override;
186 
187 public:
188  //--- UI Management
189  virtual void UICreate ();
190  virtual void UICreateLayoutInstruments ();
191  virtual void UICreateLayoutCommunication ();
192  virtual void UICreateLayoutInfo ();
193  virtual void UICreateLayoutCustom ();
194  virtual void UIConfigure ();
197  virtual void UIConfigureLayoutInfo ();
198  virtual void UIConfigureLayoutCustom ();
199  virtual void UIRefresh ();
200  virtual void UIRefreshLayoutInstruments ();
202  virtual void UIRefreshLayoutCustom ();
203  virtual void UIUpdateEnabled ();
204  virtual void UIReset ();
205  virtual void UIResetLayoutInstruments ();
206  virtual void UIResetLayoutCommunications ();
207  virtual void UIResetLayoutCustom ();
208 
214 
215 protected:
217 
221 
222  // Fov
230 
231  // Optical Center
239 
240  // Offsets
245 
246  // Lens Calibration
262 
263  // Video format
269 
271  // Sync
276 
277  // Serial port
283 
284  // Network
292 
293  // Shared Memory
299 
300  // Simulator
314 
317 
319 
320 public:
321  // Device/Idle callbacks
322  virtual void OnDeviceStatusChange ( HISender pSender, HKEvent pEvent );
323  virtual void OnUIIdle ( HISender pSender, HKEvent pEvent );
324 
325  // Base UI manipulation callbacks
326  virtual void OnTabPanelChange ( HISender pSender, HKEvent pEvent );
327  virtual void OnListInstrumentsChange ( HISender pSender, HKEvent pEvent );
328 
329  // Instrument/lens
330  // These should be fine
331  virtual void OnButtonActiveClick ( HISender pSender, HKEvent pEvent );
332  virtual void OnButtonManualChange ( HISender pSender, HKEvent pEvent );
333  virtual void OnButtonManualFovClick ( HISender pSender, HKEvent pEvent );
334  virtual void OnButtonManualCenterClick ( HISender pSender, HKEvent pEvent );
335  virtual void OnFovChange ( HISender pSender, HKEvent pEvent );
336  virtual void OnFovXSliderChange ( HISender pSender, HKEvent pEvent );
337  virtual void OnFovYSliderChange ( HISender pSender, HKEvent pEvent );
338  virtual void OnFovXEditNumberChange ( HISender pSender, HKEvent pEvent );
339  virtual void OnFovYEditNumberChange ( HISender pSender, HKEvent pEvent );
340  virtual void OnCenterChange ( HISender pSender, HKEvent pEvent );
341  virtual void OnCenterXSliderChange ( HISender pSender, HKEvent pEvent );
342  virtual void OnCenterYSliderChange ( HISender pSender, HKEvent pEvent );
343  virtual void OnCenterXEditNumberChange ( HISender pSender, HKEvent pEvent );
344  virtual void OnCenterYEditNumberChange ( HISender pSender, HKEvent pEvent );
345  virtual void OnOffsetChange ( HISender pSender, HKEvent pEvent );
346  virtual void OnOffsetTChange ( HISender pSender, HKEvent pEvent );
347  virtual void OnOffsetRChange ( HISender pSender, HKEvent pEvent );
348  virtual void OnLensfileChange ( HISender pSender, HKEvent pEvent );
349  virtual void OnButtonLoadLensfileClick ( HISender pSender, HKEvent pEvent );
350  virtual void OnButtonResetLensfileClick ( HISender pSender, HKEvent pEvent );
351  virtual void OnInvertChange ( HISender pSender, HKEvent pEvent );
352  virtual void OnInvertFocusClick ( HISender pSender, HKEvent pEvent );
353  virtual void OnInvertZoomClick ( HISender pSender, HKEvent pEvent );
354  virtual void OnFovUnitsChange ( HISender pSender, HKEvent pEvent );
355  virtual void OnFovUnitsDegClick ( HISender pSender, HKEvent pEvent );
356  virtual void OnFovUnitsRadClick ( HISender pSender, HKEvent pEvent );
357  virtual void OnNodalXChange ( HISender pSender, HKEvent pEvent );
358  virtual void OnNodalXSliderChange ( HISender pSender, HKEvent pEvent );
359  virtual void OnNodalXEditNumberChange ( HISender pSender, HKEvent pEvent );
360  virtual void OnZoomXChange ( HISender pSender, HKEvent pEvent );
361  virtual void OnZoomXSliderChange ( HISender pSender, HKEvent pEvent );
362  virtual void OnZoomXEditNumberChange ( HISender pSender, HKEvent pEvent );
363  virtual void OnAspectRatioChange ( HISender pSender, HKEvent pEvent );
364  virtual void OnAspectRatioSliderChange ( HISender pSender, HKEvent pEvent );
365  virtual void OnAspectRatioEditNumberChange ( HISender pSender, HKEvent pEvent );
366  virtual void OnAspectRatioPresetChange ( HISender pSender, HKEvent pEvent );
367 
368  // Communications
369  // These need to be overloaded.
370  virtual void OnSyncDelayChange ( HISender pSender, HKEvent pEvent );
371  virtual void OnSyncDelaySliderChange ( HISender pSender, HKEvent pEvent );
372  virtual void OnSyncDelayEditNumberChange ( HISender pSender, HKEvent pEvent );
373  virtual void OnButtonSyncInfoClick ( HISender pSender, HKEvent pEvent );
374 
375  virtual void OnEnableChange ( HISender pSender, HKEvent pEvent );
376  virtual void OnEnableSerialClick ( HISender pSender, HKEvent pEvent );
377  virtual void OnEnableSimulatorClick ( HISender pSender, HKEvent pEvent );
378  virtual void OnEnableNetworkClick ( HISender pSender, HKEvent pEvent );
379  virtual void OnEnableSharedMemoryClick ( HISender pSender, HKEvent pEvent );
380 
381  virtual void OnSerialChange ( HISender pSender, HKEvent pEvent );
382  virtual void OnSerialPortChange ( HISender pSender, HKEvent pEvent );
383  virtual void OnSerialBaudRateChange ( HISender pSender, HKEvent pEvent );
384  virtual void OnNetworkChange ( HISender pSender, HKEvent pEvent );
385  virtual void OnNetworkAddressChange ( HISender pSender, HKEvent pEvent );
386  virtual void OnNetworkPortChange ( HISender pSender, HKEvent pEvent );
387  virtual void OnNetworkProtocolChange ( HISender pSender, HKEvent pEvent );
388  virtual void OnSimulatorChange ( HISender pSender, HKEvent pEvent );
389  virtual void OnSimulatorAmplitudeEditNumberChange ( HISender pSender, HKEvent pEvent );
390  virtual void OnSimulatorAmplitudeSliderChange ( HISender pSender, HKEvent pEvent );
391  virtual void OnSimulatorFrequencyEditNumberChange ( HISender pSender, HKEvent pEvent );
392  virtual void OnSimulatorFrequencySliderChange ( HISender pSender, HKEvent pEvent );
393  virtual void OnSimulatorZoomEditNumberChange ( HISender pSender, HKEvent pEvent );
394  virtual void OnSimulatorZoomSliderChange ( HISender pSender, HKEvent pEvent );
395  virtual void OnSimulatorFocusEditNumberChange ( HISender pSender, HKEvent pEvent );
396  virtual void OnSimulatorFocusSliderChange ( HISender pSender, HKEvent pEvent );
397  virtual void OnSharedMemoryChange ( HISender pSender, HKEvent pEvent );
398  virtual void OnSharedMemoryHandleChange ( HISender pSender, HKEvent pEvent );
399  virtual void OnSharedMemoryAddressChange ( HISender pSender, HKEvent pEvent );
400 
401 protected:
405 };
406 #endif
407 
408 #ifdef FBSDKUseNamespace
409  }
410 #endif
411 #endif
Used to create and manage buttons in a user interface.
Definition: fbcontrols.h:1065
Camera device base class.
Definition: fbtracker.h:287
Instrument for a camera device.
Definition: fbtracker.h:228
Camera device layout.
FBEditNumber mEditNumberCenterY
Instrument layout: Optical center Y numberical edit box.
FBLabel mLabelSyncDelay
Communications layout: Sync delay label.
virtual void OnButtonManualFovClick(HISender pSender, HKEvent pEvent)
Callback: Manual FOV toggle.
FBLabel mLabelLensfileName
Instrument layout: Lensfile filename label.
virtual void UIResetLayoutCustom()
UIReset: Custom layout.
virtual void OnFovYEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: FOV Y numerical change.
virtual void UICreateLayoutInstruments()
UICreate: Instrument layout.
FBLabel mLabelFovX
Instrument layout: FOV X label.
virtual void OnNodalXEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Nodal shift numerical change.
FBList mListNetworkProtocol
Communications layout: Network: Protocol list.
virtual void OnCenterYSliderChange(HISender pSender, HKEvent pEvent)
Callback: Optical center Y slider change.
FBLabel mLabelSimulatorAmplitude
Communications layout: Simulator: Amplitude label.
virtual void OnSharedMemoryAddressChange(HISender pSender, HKEvent pEvent)
Callback: Shared memory address change.
FBEditNumber mEditNumberNodalX
Instrument layout: Nodal shift numerical edit.
virtual void OnDeviceStatusChange(HISender pSender, HKEvent pEvent)
Callback: Device status change .
virtual void OnAspectRatioEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Aspect ratio numerical change.
FBSlider mSliderSimulatorFrequency
Communications layout: Simulator: Frequency slider.
virtual void OnLensfileChange(HISender pSender, HKEvent pEvent)
Callback: Lensfile change.
FBButton mButtonEnableSerial
Communications layout: Enable serial button.
FBSlider mSliderSimulatorAmplitude
Communications layout: Simulator: Amplitude slider.
FBButton mButtonInvertFocus
Instrument layout: Invert focus toggle.
FBSlider mSliderFovY
Instrument layout: FOV Y slider..
FBSlider mSliderSimulatorZoom
Communications layout: Simulator: Zoom slider.
virtual void UIRefreshLayoutCustom()
UIRefresh: Custom layout.
FBEditVector mEditVectorOffsetT
Instrument layout: Translation offset vector edit.
FBTabPanel mTabPanel
Main tab panel.
FBLabel mLabelCenterY
Instrument layout: Optical center Y label.
virtual void UIConfigureLayoutInfo()
UIConfigure: Information layout.
virtual void OnSharedMemoryChange(HISender pSender, HKEvent pEvent)
Callback: Shared memory state change.
virtual void OnSimulatorFocusEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Simulator focus numerical change.
FBEditNumber mEditNumberSimulatorZoom
Communications layout: Simulator: Zoom numerical edit.
virtual void OnButtonManualCenterClick(HISender pSender, HKEvent pEvent)
Callback: Manual Optical center toggle.
virtual void OnOffsetChange(HISender pSender, HKEvent pEvent)
Callback: Offset change.
FBLabel mLabelAspectRatioPresets
Instrument layout: Aspect ratio preset label.
virtual void OnSimulatorZoomSliderChange(HISender pSender, HKEvent pEvent)
Callback: Simulator zoom slider change.
virtual void UIConfigure()
Configure UI elements.
virtual void OnButtonLoadLensfileClick(HISender pSender, HKEvent pEvent)
Callback: Load lensfile button click.
virtual FBDeviceCameraInstrument * GetCurrentInstrument()
Get the current selected instrument.
FBEditNumber mEditNumberFovX
Instrument layout: FOV X numerical edit box.
virtual void FBDestroy() override
Open Reality Destructor.
virtual void OnFovChange(HISender pSender, HKEvent pEvent)
Callback: FOV change.
virtual void OnFovXSliderChange(HISender pSender, HKEvent pEvent)
Callback: FOV X slider change.
FBLabel mLabelOffsetT
Instrument layout: Translation offset label.
FBDeviceCamera * mDeviceCamera
Handle onto device.
virtual void UICreateLayoutCustom()
UICreate: Custom layout.
virtual void OnNetworkAddressChange(HISender pSender, HKEvent pEvent)
Callback: Network address change.
FBButton mButtonEnableSharedMemory
Communications layout: Enable shared memory button.
virtual void OnSharedMemoryHandleChange(HISender pSender, HKEvent pEvent)
Callback: Shared memory handle change.
virtual void UICreateLayoutCommunication()
UICreate: Communication layout.
virtual void OnFovUnitsRadClick(HISender pSender, HKEvent pEvent)
Callback: FOV units to radians.
virtual void OnFovUnitsDegClick(HISender pSender, HKEvent pEvent)
Callback: FOV units to degrees.
virtual void OnButtonResetLensfileClick(HISender pSender, HKEvent pEvent)
Callback: Reset lensfile button click.
FBEditNumber mEditNumberSyncDelay
Communications layout: Sync delay numerical edit box.
FBLabel mLabelSerialPort
Communications layout: Serial: Port label.
virtual void OnNodalXChange(HISender pSender, HKEvent pEvent)
Callback: Nodal shift change.
virtual void OnNetworkPortChange(HISender pSender, HKEvent pEvent)
Callback: Network port change.
virtual void OnSimulatorZoomEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Simulator zoom numerical change.
FBLayout mLayoutCommunication
Communications layout.
FBLayout mLayoutCustom
Custom layout.
FBEditNumber mEditNumberSimulatorAmplitude
Communications layout: Simulator: Amplitude numerical edit.
virtual void OnListInstrumentsChange(HISender pSender, HKEvent pEvent)
Callback: Instrument list.
virtual void OnEnableNetworkClick(HISender pSender, HKEvent pEvent)
Callback: Enable network communication.
virtual void UIConfigureLayoutInstruments()
UIConfigure: Instrument layout.
virtual void OnAspectRatioChange(HISender pSender, HKEvent pEvent)
Callback: Aspect ratio change.
FBLabel mLabelSerialBaudRate
Communications layout: Serial: Baud rate label.
FBButton mButtonActive
Instrument layout: Active button.
virtual void UIRefreshLayoutInstruments()
UIRefresh: Instrument layout.
virtual void OnSimulatorAmplitudeSliderChange(HISender pSender, HKEvent pEvent)
Callback: Simulator amplitude slider change.
FBEditNumber mEditNumberZoomX
Instrument layout: Zomm multiplier numerical edit.
FBSlider mSliderSyncDelay
Communications layout: Sync delay slider.
FBLabel mLabelFovY
Instrument layout: FOV Y label.
FBSlider mSliderAspectRatio
Instrument layout: Aspect ratio slider.
virtual void OnZoomXEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Zoom multiplier numerical change.
FBList mListSerialPort
Communications layout: Serial: Port list.
FBLayout mLayoutInstruments
Instrument layout.
virtual void OnUIIdle(HISender pSender, HKEvent pEvent)
Callback: UI Idle.
virtual void OnSimulatorChange(HISender pSender, HKEvent pEvent)
Callback: Simulator state change.
virtual void OnFovUnitsChange(HISender pSender, HKEvent pEvent)
Callback: FOV units change.
FBEditNumber mEditNumberAspectRatio
Instrument layout: Aspect ratio edit number.
FBSlider mSliderFovX
Instrument layout: FOV X slider.
virtual void UIUpdateEnabled()
Update enabled on functions.
FBLabel mLabelNodalX
Instrument layout: Nodal shift label.
virtual void UICreateLayoutInfo()
UICreate: Information layout.
virtual void OnSerialPortChange(HISender pSender, HKEvent pEvent)
Callback: Serial port change.
FBLayout mLayoutInfo
Information layout.
FBButton mButtonManualCenter
Instrument layout: Manual optical center button.
FBButton mButtonEnableSimulator
Communications layout: Enable simulator button.
FBButton mButtonSyncInfo
Communications layout: Sync information (debug) button.
virtual void OnZoomXSliderChange(HISender pSender, HKEvent pEvent)
Callback: Zoom multiplier slider change.
FBLabel mLabelFovUnits
Instrument layout: FOV units label.
virtual void OnInvertZoomClick(HISender pSender, HKEvent pEvent)
Callback: Invert zoom toggle.
FBSpread mSpreadInfo
Information layout: Spreadsheet.
virtual void UIRefreshLayoutCommunications()
UIRefresh: Communications layout.
virtual void OnCenterXSliderChange(HISender pSender, HKEvent pEvent)
Callback: Optical center X slider change.
FBLabel mLabelSimulatorZoom
Communications layout: Simulator: Zoom label.
FBLabel mLabelCenterX
Instrument layout: Optical center X label.
virtual void OnSerialBaudRateChange(HISender pSender, HKEvent pEvent)
Callback: Serial baud rate change.
virtual void UIRefresh()
Idle refresh.
FBLabel mLabelNetworkAddress
Communications layout: Network: Address label.
FBEditNumber mEditNumberCenterX
Instrument layout: Optical center X numberical edit box.
virtual void OnSimulatorFocusSliderChange(HISender pSender, HKEvent pEvent)
Callback: Simulator focus slider change.
FBPropertyBool CustomLayout
Custom layout?
FBSlider mSliderSimulatorFocus
Communications layout: Simulator: Focus slider.
virtual void OnSyncDelayChange(HISender pSender, HKEvent pEvent)
Callback: Sync delay change.
virtual void UICreate()
Create and assign UI regions.
virtual void OnFovYSliderChange(HISender pSender, HKEvent pEvent)
Callback: FOV Y slider change.
virtual void OnNetworkProtocolChange(HISender pSender, HKEvent pEvent)
Callback: Network protocol change.
virtual void OnTabPanelChange(HISender pSender, HKEvent pEvent)
Callback: Tab panel selection.
FBSlider mSliderZoomX
Instrument layout: Zoom multiplier slider.
virtual void OnSyncDelaySliderChange(HISender pSender, HKEvent pEvent)
Callback: Sync delay slider change.
FBLabel mLabelNetworkProtocol
Communications layout: Network: Protocol label.
virtual void OnInvertChange(HISender pSender, HKEvent pEvent)
Callback: Invert values change.
virtual void OnButtonSyncInfoClick(HISender pSender, HKEvent pEvent)
Callback: Sync debug info click.
virtual void OnOffsetTChange(HISender pSender, HKEvent pEvent)
Callback: Translation offset change.
virtual void OnAspectRatioSliderChange(HISender pSender, HKEvent pEvent)
Callback: Aspect ratio slider change.
FBLabel mLabelAddress
Communications layout: Shared Memory: Address label.
FBButton mButtonInvertZoom
Instrument layout: Invert zoom toggle.
virtual void OnFovXEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: FOV X numerical change.
FBLabel mLabelZoomX
Instrument layout: Zoom multiplier label.
FBLabel mLabelHandle
Communications layout: Shared Memory: Handle label.
virtual bool FBCreate() override
Open Reality Constructor.
FBButton mButtonManualFov
Instrument layout: Manual FOV control button.
virtual void OnNetworkChange(HISender pSender, HKEvent pEvent)
Callback: Network state change.
FBEdit mEditNetworkPort
Communications layout: Network: Port text edit.
FBLabel mLabelOffsetR
Instrument layout: Rotation offset label.
virtual void OnSimulatorFrequencySliderChange(HISender pSender, HKEvent pEvent)
Callback: Simulator frequency slider change.
virtual void OnButtonActiveClick(HISender pSender, HKEvent pEvent)
Callback: Activate button click.
virtual void UIConfigureLayoutCustom()
UIConfigure: Custom layout.
virtual void UIResetLayoutCommunications()
UIReset: Communications layout.
FBSlider mSliderNodalX
Instrument layout: Nodal shift slider.
virtual void OnEnableSimulatorClick(HISender pSender, HKEvent pEvent)
Callback: Enable simulator communication.
virtual void UIReset()
Reset from device values.
virtual void OnSimulatorAmplitudeEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Simulator amplitude numerical change.
FBList mListSerialBaudRate
Communications layout: Serial: Baud rate list.
FBButton mButtonEnableNetwork
Communications layout: Enable network button.
FBButton mButtonResetLensfile
Instrument layout: Reset lensfile status button.
virtual void OnOffsetRChange(HISender pSender, HKEvent pEvent)
Callback: Rotation offset change.
virtual void OnEnableChange(HISender pSender, HKEvent pEvent)
Callback: Enable comm type change.
FBEditNumber mEditNumberSimulatorFocus
Communications layout: Simulator: Focus numerical edit.
FBLabel mLabelInversion
Instrument layout: Inversion label.
virtual void OnCenterXEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Optical center X numerical change.
FBLabel mLabelAspectRatio
Instrument layout: Aspect ratio label.
virtual void OnCenterYEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Optical center Y numerical change.
virtual void OnCenterChange(HISender pSender, HKEvent pEvent)
Callback: Optical center change.
FBEditNumber mEditNumberSimulatorFrequency
Communications layout: Simulator: Frequency numerical edit.
FBSlider mSliderCenterY
Instrument layout: Optical center Y slider.
FBEditVector mEditVectorOffsetR
Instrument layout: Rotation offset vector edit.
virtual void OnSyncDelayEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Sync delay numerical change.
FBList mListAspectRatioPresets
Instrument layout: Aspect ratio preset list.
virtual void OnSimulatorFrequencyEditNumberChange(HISender pSender, HKEvent pEvent)
Callback: Simulator frequency numerical change.
FBSlider mSliderCenterX
Instrument layout: Optical center X slider.
virtual void OnSerialChange(HISender pSender, HKEvent pEvent)
Callback: Serial state change.
FBEditNumber mEditNumberFovY
Instrument layout: FOV Y numerical edit box.
FBList mListInstruments
Instrument layout: List of instruments.
FBEdit mEditHandle
Communications layout: Shared Memory: Handle text edit.
virtual void OnEnableSharedMemoryClick(HISender pSender, HKEvent pEvent)
Callback: Enable simulator.
FBButton mButtonFovUnitsDeg
Instrument layout: FOV in degrees button.
virtual void OnButtonManualChange(HISender pSender, HKEvent pEvent)
Callback: Manual (FOV or Optical center) button click.
FBPropertyInt SupportedCommTypes
Supported comm types.
virtual void UIResetLayoutInstruments()
UIReset: Instrument layout.
FBEdit mEditNetworkAddress
Communications layout: Network: Address text edit.
FBLabel mLabelNetworkPort
Communications layout: Network: Port label.
FBLabel mLabelSimulatorFocus
Communications layout: Simulator: Focus label.
virtual void OnEnableSerialClick(HISender pSender, HKEvent pEvent)
Callback: Enable serial communication.
FBLabel mLabelSimulatorFrequency
Communications layout: Simulator: Frequency label.
virtual void OnZoomXChange(HISender pSender, HKEvent pEvent)
Callback: Zoom multiplier change.
virtual void UIConfigureLayoutCommunication()
UIConfigure: Communications layout.
virtual void OnInvertFocusClick(HISender pSender, HKEvent pEvent)
Callback: Invert focus toggle.
virtual void OnAspectRatioPresetChange(HISender pSender, HKEvent pEvent)
Callback: Aspect ratio preset selection.
FBButton mButtonLoadLensfile
Instrument layout: Load lensfile button.
FBButton mButtonFovUnitsRad
Instrument layout: FOV in radians button.
FBEdit mEditAddress
Communications layout: Shared Memory: Address text edit.
virtual void OnNodalXSliderChange(HISender pSender, HKEvent pEvent)
Callback: Nodal shift slider change.
Base Device class.
Definition: fbcore.h:805
Device layout class.
FBPropertyDevice Device
Property(R-): Handle on device.
FBDeviceLayout(FBDevice *pDevice=NULL)
Constructor.
Optical device class.
Definition: fboptical.h:815
Layout for optical device.
FBDeviceOptical * mDeviceOptical
Optical device.
FBPropertyInt GenericUIOptions
Property: GUI options.
FBDeviceOpticalGUIOptions
Different options for optical device GUI.
virtual bool FBCreate() override
Open Reality Creation function.
FBDeviceOpticalLayout(FBDevice *pDevice=NULL)
Constructor.
Text edit box.
Definition: fbcontrols.h:1225
Number edit box.
Definition: fbcontrols.h:1244
Vector edit widget.
Definition: fbcontrols.h:1284
Text label.
Definition: fbcontrols.h:1176
Used to build the user interface.
Definition: fbcontrols.h:781
List of items.
Definition: fbcontrols.h:1323
Slider.
Definition: fbcontrols.h:1358
Base spreadsheet class.
Definition: fbcontrols.h:1520
Tab panel.
Definition: fbcontrols.h:989
HKEventBase HKEvent
HKEvent.
Definition: fbcomponent.h:380
HIRegister HISender
HISender.
Definition: fbcomponent.h:377
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:131
Contains the user interface components for the SDK.
Contains definitions for devices, boxes and models.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#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