Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HBaseView.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: e2e15e2a03b624a7577e35827be132751e795c3d $
13 //
14 
18 #ifndef _HBASEVIEW_H
19 #define _HBASEVIEW_H
20 
21 #ifdef H_PACK_8
22 #pragma pack(push)
23 #pragma pack(8)
24 #endif
25 
26 #include "HTools.h"
27 #include "HTManager.h"
28 #include "HEventListener.h"
29 
30 class HDB;
31 class HBaseModel;
32 class HCamera;
33 class HEventInfo;
34 class HSelectionSet;
35 class HBaseOperator;
36 class HConstantFrameRate;
37 class HSharedKey;
38 class HImCuttingGeometry;
39 class HOutputHandler;
40 class HOutputHandlerOptions;
41 class HInputHandler;
44 class HMarkupManager;
45 class HShadow;
46 class HUndoManager;
47 class HEventManager;
48 class HObjectManager;
50 class HDebugZBuffer;
51 class HConstFRSimpType;
52 
53 
59 typedef bool(*HSignalNotifyFunction)(int signal, void *signal_data, void *user_data);
60 
61 
62 
67 {
77  HRenderPhong = 10,
92  HRenderUnknown = 0
93 };
94 
98 enum ViewMode
99 {
116 
121 
122  HViewFront,
123  HViewBack,
124  HViewRight,
125  HViewLeft,
126  HViewTop,
127  HViewBottom,
128 
130 };
131 
132 
137 {
141 };
142 
143 
153 {
157 };
164 enum ProjMode
165 {
170 };
171 
172 
173 
178 {
182 };
183 
184 
189 {
193 };
194 
199 {
200  MultiThreadingOff,
201  MultiThreadingBasic,
202  MultiThreadingFull
203 };
204 
209 {
213 };
214 
215 
217 enum AxisMode
218 {
223 };
224 
227 {
228  UpDirectionX = 0xFADE,
229  UpDirectionY,
230  UpDirectionZ
231 };
232 
233 
238 {
242 };
243 
244 
247 {
251 };
252 
255 {
258 };
259 
262 {
267 };
268 
269 
277 {
281 };
288 {
291 };
292 
293 
294 
301 typedef void(*HBaseViewEmitMessageFunction)(const char* message, unsigned int length, void * user_data);
302 
303 
305 
337 class MVO_API HBaseView : public HUpdateListener , public HMouseListener, public HObjectManipulationListener
338 {
339 
340 public:
341 
342 
372  HBaseView(HBaseModel *model,
373  const char * alias = 0,
374  const char * driver_type = 0,
375  const char * instance_name = 0,
376  void * window_handle = 0,
377  void * colormap = 0,
378  void * clip_override = 0,
379  void * window_handle_2 = 0,
380  const char * driver_path = 0);
381 
409  void RebindView(
410  const char * alias = 0,
411  const char * driver_type = 0,
412  const char * instance_name = 0,
413  void * window_handle = 0,
414  void * colormap = 0,
415  void * clip_override = 0,
416  void * window_handle_2 = 0,
417  int debug_flags = 0
418  );
419 
424  virtual ~HBaseView();
425 
430  virtual void Init();
431 
437  virtual void FitWorld(HPoint * center_out = 0);
438 
446  virtual void FitWorldExact(HPoint * center_out = 0);
447 
452  virtual void ZoomToExtents();
453 
457  virtual void ZoomToInitialCamera();
458 
459 
464  void FitSegment(HC_KEY seg_key);
465 
470  void FitSelection(HC_KEY key = INVALID_KEY, bool adjustToShellNormal = false);
471 
475  void FitItemByPath(HC_KEY key, int incl_count, HC_KEY * incl_path);
476 
478  void RenderAntialiasing();
479 
481  void InitAntialiasing();
482 
484  HUtilityAntialiasing * GetAntialiasing() { return m_pAntialiasing; }
485 
487  HMarkupManager * GetMarkupManager();
488 
490  bool HaveMarkupManager() {return (m_pMarkupManager != 0);}
491 
495  void SetMarkupManager( HMarkupManager* markup ) { m_pMarkupManager = markup; }
496 
498  void RenderWireframe();
499 
502  void RenderSilhouette();
503 
505  void RenderHiddenLine();
506 
508  void RenderHiddenLineFast();
509 
511  void RenderFlat();
512 
514  void RenderGooch();
515 
517  void RenderGouraud();
518 
520  void RenderPhong();
521 
523  void RenderWireframeWithSilhouette();
524 
526  void RenderShadedWireframe();
527 
529  void RenderVertices();
530 
532  void RenderShadedVertices();
533 
537  void RenderFakeHiddenLine();
538 
541  void RenderBRepHiddenLine();
542 
545  void RenderBRepHiddenLineFast();
546 
548  void RenderBRepWireframe();
549 
554  void RenderShaded();
555 
557  void RenderShadedWithLines();
558 
560  void RenderGouraudWithLines();
561 
563  void RenderLOD1();
565  void RenderLOD2();
566 
567 
569  void RemoveTransforms();
570 
577  virtual void Update();
578 
584  virtual void ForceUpdate();
585 
597  virtual HFileInputResult FileInput(const __wchar_t * FileName, HInputHandler * handler, HInputHandlerOptions * options = 0);
598 
610  virtual HFileInputResult FileInput(const char * FileName, HInputHandler * handler, HInputHandlerOptions * options = 0){
611  return FileInput((__wchar_t*)H_WCS(FileName).encodedText(), handler, options);
612  }
613 
625 #ifdef H_USHORT_OVERLOAD
626  virtual HFileInputResult FileInput(const unsigned short * FileName, HInputHandler * handler, HInputHandlerOptions * options = 0){
627  H_UTF16 utf16;
628  utf16.encodedText((utf16_char*)FileName);
629  return FileInput((__wchar_t*)H_WCS(utf16).encodedText(), handler, options);
630  }
631 #endif
632 
658  virtual HFileOutputResult FileOutput(const __wchar_t * FileName, HOutputHandler * handler, HOutputHandlerOptions * options = 0);
659 
685  virtual HFileOutputResult FileOutput(const char * FileName, HOutputHandler * handler, HOutputHandlerOptions * options = 0){
686  return FileOutput((__wchar_t*)H_WCS(FileName).encodedText(), handler, options);
687  }
688 
689  // accessors
690 
692  const char* GetDriverPath( void ) { return (const char*)m_sDriverPath; }
693 
695  const char* GetDriverType( void ) { return (const char*)m_sDriverType; }
696 
698  virtual void UpdateHighlighting();
699 
701  HSelectionSet* GetSelection( void ) { return m_pSelection; }
702 
706  void SetSelection( HSelectionSet* selection ) { m_pSelection = selection; }
707 
709  virtual HBaseModel * GetModel() { return(m_pModel); }
710 
713  HC_KEY GetModelKey();
714 
716  HRenderMode GetRenderMode () { return(m_RenderMode); }
717 
719  ViewMode GetViewMode () { return(m_ViewMode); }
720 
727  virtual void SetViewMode (ViewMode mode, bool invert = false, bool fitWorld = true);
728 
730  bool GetCPLineVisibility() {return m_bCPLineVisibility; }
731 
733  bool GetCPFaceVisibility() {return m_bCPFaceVisibility; }
734 
742  void SetCPGeomVisibility(bool lines, bool faces=false);
743 
744 
750  bool GetCuttingPlanesExist(const char *plane = 0);
751 
755  void SetCuttingPlanesExist(bool state);
756 
758  bool GetCuttingPlanesVisibility() {return m_bCuttingPlanesVisibility; }
759 
763  void SetCuttingPlanesVisibility(bool visible);
764 
766  HConstantFrameRate* GetConstantFrameRateObject( void ) { return m_pConstantFrameRate; }
767 
771  void SetConstantFrameRateObject( HConstantFrameRate* cf ) { m_pConstantFrameRate = cf; }
772 
774  void SetEventCheckerCallback(void (* EventChecker)(HIC_Rendition const *nr));
775 
777  void SetKeyStateCallback(bool (* KeyState)(unsigned int, int &)) { m_pfKeyState = KeyState; }
778 
780  bool (*GetKeyStateCallback())(unsigned int, int &) { return m_pfKeyState; }
781 
783  void (*GetEventCheckerCallback())(HIC_Rendition const *nr) { return m_pfEventChecker; }
784 
785 
793  void SetOcclusionCullingMode(bool mode, bool UseOctree = true, int threshold = 50);
794 
795 
798  HandednessMode GetHandedness();
799 
811  virtual void SetHandedness(HandednessMode mode, bool emit_message=false);
812 
817  virtual void SetHandednessFromMessage(const char *in_data, unsigned int data_length);
818 
825  virtual void SetFontSize(const char *font_size, bool emit_message=false);
826 
831  virtual void SetFontSizeFromMessage(const char *in_data, unsigned int data_length);
832 
834  bool GetBackplaneCulling();
835 
842  void SetBackplaneCulling(bool cull);
843 
847  ProjMode GetProjMode();
848 
852  void SetProjMode(ProjMode mode);
853 
855  DisplayListType GetDisplayListType();
856 
860  void SetDisplayListType(DisplayListType type);
861 
863  bool GetDisplayListMode();
864 
868  void SetDisplayListMode(bool mode);
869 
871  HandednessMode GetPolygonHandednessMode();
872 
884  void SetPolygonHandednessMode(HandednessMode);
885 
888  bool GetLodMode();
889 
896  void SetLodMode(bool onoff);
897 
899  bool GetSpritingMode() { return m_bSpritingAllowed; }
900 
906  void SetSpritingMode(bool onoff) { m_bSpritingAllowed = onoff; }
907 
911  int GetLodThreshold();
912 
917  void SetLodThreshold(int val);
918 
920  HC_KEY GetViewKey( void ) { return m_ViewKey; }
922  void SetViewKey( HC_KEY view_key ) { m_ViewKey = view_key; }
923 
925  HC_KEY GetIncludeLinkKey( void ) { return m_lIncludeLinkKey; }
927  void SetIncludeLinkKey( HC_KEY link ) { m_lIncludeLinkKey = link; }
928 
930  HC_KEY GetSceneKey( void ) { return m_SceneKey; }
931 
935  void SetSceneKey( HC_KEY scene_key ) { m_SceneKey = scene_key; }
936 
938  HC_KEY GetOverwriteKey( void ) { return m_OverwriteKey; }
939 
941  HC_KEY GetShadowMapSegmentKey( void ) { return HC_KShow_Owner_By_Key (m_lIncludeLinkKey); }
942 
944  HC_KEY GetLightsKey( void ) { return m_LightsKey; }
945 
949  void SetLightsKey( HC_KEY lights_key ) { m_LightsKey = lights_key; }
950 
952  float GetZoomLimit( void ) { return m_fZoomLimit; }
953 
957  void SetZoomLimit( float zoomLimit ) { m_fZoomLimit = zoomLimit; }
958 
960  virtual void SetZoomLimit();
961 
963  HC_KEY GetWindowspaceKey( void ) { return m_WindowspaceKey; }
964 
968  void SetWindowspaceKey( HC_KEY winspace_key ) { m_WindowspaceKey = winspace_key; }
969 
971  HC_KEY GetConstructionKey( void ) { return m_ConstructionKey; }
972 
976  void SetConstructionKey( HC_KEY construct_key ) { m_ConstructionKey = construct_key; }
977 
979  HC_KEY GetBBoxGeometryKey( void ) { return m_BBoxGeometryKey; }
981  void SetBBoxGeometryKey( HC_KEY bbox_key ) { m_BBoxGeometryKey = bbox_key; }
982 
984  HC_KEY GetCuttingPlanesKey( void ) { return m_CuttingPlanesKey; }
985 
989  void SetCuttingPlanesKey( HC_KEY cuttingplanes_key ) { m_CuttingPlanesKey = cuttingplanes_key; }
990 
992  HC_KEY GetCuttingPlaneGeomKey( void ) { return m_CuttingPlaneGeomKey; }
993 
997  void SetCuttingPlaneGeomKey( HC_KEY cuttingplanegeom_key ) { m_CuttingPlaneGeomKey = cuttingplanegeom_key; }
999  HC_KEY GetIntersectPolylinesKey( void ) { return m_IntersectPolylinesKey; }
1000 
1004  void SetIntersectPolylinesKey( HC_KEY intersectpolylines_key ) { m_IntersectPolylinesKey = intersectpolylines_key; }
1005 
1007  HC_KEY GetProgressBarKey( void ) { return m_ProgressBarKey; }
1012  void SetProgressBarKey( HC_KEY key ) { m_ProgressBarKey = key; }
1013 
1014 
1016  int GetUpdateInterrupted() { return m_UpdateInterrupted; }
1017 
1021  void SetUpdateInterrupted( int val ) { m_UpdateInterrupted = val; }
1022 
1024  float GetIdleTime( void );
1025 
1027  void ResetIdleTime( void );
1028 
1031  HQuickMovesMethod GetQuickMovesMethod () const;
1032 
1034  class HDebugZBuffer *GetDebugZBuffer() { return m_pDebugZBuffer; }
1035 
1038  void SetDebugZBuffer(HDebugZBuffer *dzb) { m_pDebugZBuffer = dzb; };
1039 
1041  AxisMode GetAxisMode() {return m_bAxisMode; }
1042 
1047  virtual void SetAxisMode(AxisMode mode);
1048 
1052  virtual void OnSetAxisMode( AxisMode mode );
1053 
1055  void UpdateAxisTriad() { SetAxisMode(GetAxisMode()); }
1056 
1062  virtual void AdjustAxisWindow( int axis_window_pixels_in = -1, HIntRectangle *rect_in=0 );
1063 
1065  static void AdjustAxisWindowCallback(int signal, void * signal_data, void * user_data);
1066 
1068  static void AdjustWindowCallback(int signal, void * signal_data, void * user_data);
1069 
1071  HShadowMode GetShadowMode() {return m_ShadowMode; }
1072 
1077  virtual void SetShadowMode (HShadowMode sm, bool saveMode = true);
1078 
1090  virtual void SetReflectionPlane(bool state, float opacity=0.5f, bool fading=true, bool attenuate=false,
1091  float hither=0.0f, float yon=1.0f, bool blur=false, int blur_level=1);
1092 
1094  HC_KEY GetDefaultLightKey(int which = 0) { return m_SceneLight[which]; }
1095 
1096 
1098  bool GetTransparentSelectionBoxMode() {return m_bTransparentSelectionBox; }
1099 
1103  void SetTransparentSelectionBoxMode(bool mode) { m_bTransparentSelectionBox = mode; }
1104 
1110  virtual void DeleteSelectionList(bool emit_message=false);
1111 
1118  void RotateOnUpdate(const char *sname);
1119 
1127  virtual void SetWindowColor(HPoint rgb, bool emit_message=false);
1128 
1139  virtual void SetWindowColor(HPoint rgbtop, HPoint rgbbottom, bool emit_message=false);
1140 
1152  virtual void SetWindowColorRange(HPoint rgbtop, HPoint rgbbottom, int percentage, bool emit_message=false);
1153 
1154 
1162  virtual void SetWindowMaterial(const char * name, bool emit_message=false);
1163 
1169  virtual void SetWindowColorFromMessage(const char *in_data, unsigned int data_length);
1170 
1174  void GetWindowColor(HPoint &color_out);
1175 
1180  void GetWindowColor(HPoint &color_top, HPoint &color_bottom);
1181 
1187  void GetWindowColor(HPoint &color_top, HPoint &color_bottom, int &percentage);
1188 
1193  void GetWindowMaterial(char * out_material, char * out_pattern);
1194 
1198  void SetOperator(HBaseOperator *NewOperator);
1199 
1200 
1202  void SetCurrentOperator(HBaseOperator *NewOperator) { SetOperator(NewOperator); }
1203 
1207  HBaseOperator* GetOperator() { return(m_pOperator); }
1208 
1213  HBaseOperator* GetCurrentOperator() { return(m_pOperator); }
1214 
1215 
1217  HC_KEY GetAxisTriadKey() {return m_AxisTriadKey;}
1218 
1220  bool GetHideOverlappedText(){ return m_bHideOverlappedText;}
1221 
1225  void SetHideOverlappedText(bool hide);
1226 
1230  void SetNavCube(bool onoff) { m_bNavCube = onoff;}
1231 
1233  bool GetSmoothTransition() { return m_bSmoothTransition;}
1234 
1238  void SetSmoothTransition(bool onoff) { m_bSmoothTransition = onoff;}
1239 
1243  void SetSmoothTransitionDuration(float duration) { m_SmoothTransitionDuration = duration;}
1244 
1246  float GetSmoothTransitionDuration() { return m_SmoothTransitionDuration;}
1247 
1249  bool IsLightFollowCamera(){return m_bLightFollowsCamera;}
1250 
1254  void SetLightFollowsCamera(bool onoroff);
1255 
1256  static const int MaxLights = 6;
1257 
1261  void SetLightCount(int count);
1262 
1266  int GetLightCount() { return m_LightCount; }
1267 
1276  virtual void CameraPositionChanged(bool emit_message=false, bool smooth_camera_transition=false);
1277 
1278 
1282  virtual void PrepareForCameraChange();
1283 
1284 
1294  virtual void SetCamera(HPoint pos, HPoint tar, HPoint up, float fieldx, float fieldy, const char *proj);
1295 
1305  virtual void SetInitialCamera(HPoint pos, HPoint tar, HPoint up, float fieldx, float fieldy, char const * proj);
1306 
1307 
1317  virtual void GetCamera(HPoint *pos, HPoint *tar, HPoint *up, float &fieldx, float &fieldy, char *proj);
1318 
1323  virtual void SetCamera(HCamera camera);
1324 
1329  virtual void GetCamera(HCamera *camera);
1330 
1336  virtual void SetCameraFromMessage(const char *data, unsigned int data_length);
1337 
1345  virtual void InsertHSFData(const char *segment, const char *in_data, unsigned int data_length, bool emit_message=false);
1346 
1352  virtual void InsertHSFDataFromMessage(const char *in_data, unsigned int data_length);
1353 
1360  virtual void EmitHSFData(const char *segment, const char *in_data, unsigned int data_length);
1361 
1367  virtual void SetRenderMode (HRenderMode NewRenderMode, bool emit_message=false);
1368 
1374  virtual void SetRenderModeFromMessage(const char *in_data, unsigned int data_length);
1375 
1379  virtual void EmitFlushMessage();
1380 
1388  virtual void FlushFromMessage(const char *in_data, unsigned int data_length);
1389 
1390 
1396  virtual void Flush(bool emit_message=false);
1397 
1405  HBaseViewEmitMessageFunction new_emit_message_function,
1406  void * user_data=0) {
1407  emit_message_function=new_emit_message_function;
1408  emit_message_function_user_data=user_data;};
1409 
1414  bool EmittingMessages(){return (emit_message_function!=0);};
1415 
1419  HBaseViewEmitMessageFunction GetEmitMessageFunction() {return emit_message_function;};
1420 
1424  void * GetEmitMessageFunctionUserData() {return emit_message_function_user_data;};
1425 
1431  virtual void EmitSelectMessage(HC_KEY key, bool isSelect);
1432 
1438  virtual void SelectFromMessage(const char *in_data, unsigned int data_length);
1439 
1443  virtual void EmitDeSelectAllMessage();
1444 
1445 
1449  virtual void EmitDeleteSelectionListMessage();
1450 
1451 
1455  virtual void DeleteSelectionListFromMessage();
1456 
1457 
1461  virtual void DeSelectAllFromMessage();
1462 
1463 
1468  virtual void EmitSetModellingMatrixMessage(HC_KEY key);
1469 
1470 
1475  virtual void EmitSetModellingMatrixMessage();
1476 
1484  virtual void EmitSegment(HC_KEY key, bool emit_contents_only = false);
1485 
1490  virtual void EmitDeleteByKeyMessage(HC_KEY key);
1491 
1497  virtual void DeleteByKeyFromMessage(const char *in_data, unsigned int data_length);
1498 
1504  virtual void SetModellingMatrixFromMessage(const char *in_data, unsigned int data_length);
1505 
1509  HSharedKey * GetSharedKey() {return m_pSharedKey;};
1510 
1511 
1515  virtual void StartSharedKey();
1516 
1517 
1520  HAnimateScene = 0x00000001
1521  };
1522 
1523 
1531  virtual void Animate (int animation_steps = 30, HAnimateMode animate_flags = HAnimateScene, int MaxRotation = 360);
1532 
1535  virtual void SetGeometryChanged();
1536 
1540  bool GetSceneBoundingSet() { return m_bSceneBoundingSet; }
1541 
1546  void SetSceneBounding(HPoint &min, HPoint &max);
1547 
1549  void InvalidateSceneBounding() { m_bSceneBoundingSet = false; }
1550 
1554  void SetFastMarkerDrawing(bool b_fast);
1555 
1559  bool GetFastMarkerDrawing();
1560 
1566  void SetDoubleBuffering(bool double_buffer);
1567 
1569  virtual void ClearGeometryChanged() {m_bGeometryChanged = false; };
1570 
1572  virtual bool GeometryChanged() {return m_bGeometryChanged;};
1573 
1579  unsigned long SetSignalNotify( int signal, HSignalNotifyFunction callback, void *user_data );
1580 
1583  void UnSetSignalNotify( unsigned long cookie );
1584 
1589  void SetColorInterpolation(bool onoff);
1590 
1596  void SetColorIndexInterpolation(bool onoff, bool isolines = false);
1597 
1603  bool GetColorIndexInterpolation(char * option = 0);
1604 
1613  bool GetFrameBufferEffectsOptions(char * options = 0, int *border = 0);
1614 
1620  void Notify(int signal, void * signal_data = 0);
1621 
1628  int UpdateEvent(bool antialias = false, bool forceUpdate = false);
1632  bool GetUpdateRequested() { return m_bUpdateRequested; }
1636  void RequestUpdate() { m_bUpdateRequested = true; }
1640  void ClearUpdateRequest() { m_bUpdateRequested = false; }
1641 
1647  void SetSuppressUpdate(bool suppress) {
1648  suppress?m_SuppressUpdate++:m_SuppressUpdate--;
1649  if (m_SuppressUpdate<0)
1650  m_SuppressUpdate = 0;
1651  }
1652 
1657  bool GetSuppressUpdate() { return (m_SuppressUpdate > 0); }
1658 
1664  void SetSuppressUpdateTick(bool suppress) {
1665  suppress?m_SuppressUpdateTick++:m_SuppressUpdateTick--;
1666  if (m_SuppressUpdateTick<0)
1667  m_SuppressUpdateTick = 0;
1668  }
1669 
1674  bool GetSuppressUpdateTick() { return (m_SuppressUpdateTick > 0); }
1675 
1691  void SetViewUpdateMode(ViewUpdateMode mode, float rate = 0.01f);
1692 
1696  ViewUpdateMode GetViewUpdateMode() { return m_ViewUpdateMode; }
1697 
1705  static bool UpdateTick(float request_time, float actual_time, void * user_data);
1706 
1714  static bool StreamProgressCallback(unsigned long so_far, unsigned long expected, void * user_data);
1715 
1717  void FlushProgressBar();
1718 
1720  HUndoManager *GetUndoManager();
1721 
1723  HEventManager *GetEventManager();
1724 
1726  HObjectManager *GetHObjectManager();
1727 
1729  bool GetDynamicHighlighting() { return m_bDynamicHighlighting; }
1730 
1734  void SetDynamicHighlighting(bool state);
1735 
1741  virtual int OnNoButtonDownAndMove(HEventInfo &hevent);
1742 
1747  virtual int OnLButtonDownAndMove(HEventInfo &hevent);
1748 
1754  virtual int OnLButtonDblClk(HEventInfo &hevent);
1755 
1760  virtual int OnRButtonDownAndMove(HEventInfo &hevent);
1765  virtual int OnMButtonDownAndMove(HEventInfo &hevent);
1770  virtual int OnLRButtonDownAndMove(HEventInfo &hevent);
1771 
1776  virtual int OnLButtonDown(HEventInfo &hevent);
1777 
1782  virtual int OnMouseMove(HEventInfo &hevent);
1783 
1789  virtual int OnLButtonUp(HEventInfo &hevent);
1790 
1791 #if 0
1792 
1796  virtual int OnMouseWheel(HEventInfo &hevent);
1797 #else
1798 
1802  virtual int OnMouseWheel(HEventInfo &hevent);
1803 
1806  virtual bool ComputeReasonableTarget(HPoint & new_tar, HPoint const & mouse_win, HPoint const & tar_orig);
1807 
1808  /* This method adjusts the old field to the new target so the picture on the screen won't change. */
1809  void ComputeNewField(float & width, float & height, HPoint const & new_tar,
1810  HCamera const & old_camera);
1811 #endif
1812 
1814  virtual int OnKeyDown(HEventInfo &hevent);
1815 
1817  virtual int OnKeyUp(HEventInfo &hevent);
1818 
1821  virtual void SetShadowColor(HPoint color);
1822 
1827  virtual void SetShadowLightDirection(bool explicit_light, HPoint const * direction = 0);
1828 
1833  virtual bool GetShadowLightDirection(HPoint * direction = 0);
1834 
1838  virtual void SetShadowIgnoresTransparency(bool ignore);
1839 
1843  virtual bool GetShadowIgnoresTransparency();
1844 
1847  virtual void DoDynamicHighlighting(HPoint mouse_pos);
1848 
1851  virtual void SetShadowResolution(int res);
1852 
1855  virtual void SetShadowBlurring(int blur);
1856 
1858  virtual void InternalUpdate();
1859 
1863  virtual void SetShadowRegenerationMode(bool onoff) { m_bShadowRegeneration = onoff; }
1864 
1867  virtual void SetShadowRegenerationToggle() { m_bShadowRegenerationToggle = true; m_bShadowRegeneration = false; }
1868 
1871  bool GetCuttingPlaneRegenerationMode() { return m_bCuttingPlaneRegeneration; }
1872 
1877  virtual void SetCuttingPlaneRegenerationMode(bool onoff) { m_bCuttingPlaneRegeneration = onoff; }
1878 
1882  bool GetShadowRegenerationMode() { return m_bShadowRegeneration; }
1883 
1887  virtual void SetCameraChanged( bool val=true ) { m_bCameraChanged = val; if(val) ResetIdleTime(); }
1888 
1890  virtual bool GetCameraChanged() { return m_bCameraChanged; }
1891 
1895  virtual void SetInvertMouseWheelZoom( bool val=true ) { m_bInvertMouseWheelZoom = val;}
1896 
1898  virtual bool GetInvertMouseWheelZoom() { return m_bInvertMouseWheelZoom; }
1899 
1900 
1904  virtual void SetAxisManipulateOperator(HOpCameraManipulate *op);
1905 
1910  virtual void SetVisibilitySelectionMode(bool onoff);
1911 
1913  virtual bool GetVisibilitySelectionMode();
1914 
1917  virtual void SetRelatedSelectionLimit(int limit);
1918 
1920  virtual int GetRelatedSelectionLimit();
1921 
1926  virtual void SetDetailSelection(bool onoff);
1927 
1929  virtual bool GetDetailSelectionMode();
1930 
1938  virtual void SmartFilterCircumcuboid(const char *segment, const char *defaults, HPoint *bottomfrontleft, HPoint *topbackright);
1939 
1946  int SetupHandlesEvent(HBaseView *view, HC_KEY key, bool complex);
1947 
1949  virtual bool GetHasObjects() { return m_bHasObjects; }
1950 
1954  virtual void SetHasObjects(bool hasobjects);
1955 
1956 
1960  virtual void SetHandleOperator(HBaseOperator *op) { m_pHandleOperator = op; }
1961 
1965  virtual HBaseOperator *GetHandleOperator() { return m_pHandleOperator; }
1966 
1970  virtual float GetDefaultSelectionProximity() { return m_DefaultSelectionProximity; }
1974  virtual void SetDefaultSelectionProximity(float selectionproximity);
1975 
1979  return m_bAllowInteractiveShadows;
1980  }
1981 
1987  void SetAllowInteractiveShadows(bool onoff) {
1988  m_bAllowInteractiveShadows = onoff;
1989  }
1990 
1993  HShadowRenderingMode GetShadowRenderingMode();
1994 
1999  void SetShadowRenderingMode(HShadowRenderingMode mode);
2000 
2003  bool GetAllowInteractiveCutGeometry() { return m_bAllowInteractiveCutGeometry; }
2004 
2010  m_bAllowInteractiveCutGeometry = onoff;
2011  }
2012 
2015  HCutGeometryVisibility GetCutGeometryVisibility();
2016 
2020  void SetCutGeometryVisibility(HCutGeometryVisibility visibility);
2021 
2022 
2025  void * GetWindowHandle() { return m_pWindowHandle; }
2026 
2030  bool GetInitialCameraSet() { return m_bInitialCameraSet; }
2031 
2032 
2033 
2040  int ObjectMovedEvent(HBaseView *view, HC_KEY key, HPoint *pos);
2041 
2045  void SetRecordCamera(bool rc);
2046 
2048  bool GetRecordMode() { return m_bRecordCamera; }
2049 
2053  void InjectEvent(HEventInfo const & hevent);
2054 
2055 
2060  void SetForceFastHiddenLine(bool force) { m_bForceFastHiddenLine = force; }
2061 
2063  bool GetForceFastHiddenLine() { return m_bForceFastHiddenLine; }
2064 
2070  void SetTransparency(char const * text, bool fast_z_sort=false);
2071 
2076  void SetLineAntialiasing( bool onoff );
2077 
2079  bool GetLineAntialiasing() { return m_bLineAntialiasing; }
2080 
2084  void SetTextAntialiasing( bool onoff );
2085 
2090  void SetDepthOfField(bool onoff, float strength = 1.0f);
2091 
2096  void SetDepthOfFieldRange(float near=0.0f, float far=0.0f);
2097 
2099  bool GetTextAntialiasing() { return m_bTextAntialiasing; }
2100 
2104  void SetIsoDefault(ViewMode vm) { m_IsoDefault = vm; }\
2105 
2107  ViewMode GetIsoDefault() { return m_IsoDefault; }
2108 
2115  void SetCullingThreshold(int cullingthreshold);
2116 
2120  int GetCullingThreshold();
2121 
2128  void SetHardExtent(int cutoff);
2129 
2133  int GetHardExtent();
2134 
2139  void BeginShellSelection();
2140 
2143  void EndShellSelection();
2144 
2146  HSelectionSet * GetHighlightSelection() { return m_pHighlight; }
2147 
2154  void SetViewAxis(HVector *front_axis, HVector *top_axis) { m_FrontAxis = front_axis; m_TopAxis = top_axis; }
2159  void GetViewAxis(HVector *front_axis, HVector *top_axis) { *front_axis = m_FrontAxis; *top_axis = m_TopAxis; }
2160 
2164  void SetDefaultHSRA();
2165 
2166 
2170  void SetMaximumUpdateTime(float mut) { m_MaximumUpdateTime = mut; }
2171 
2175  float GetMaximumUpdateTime() { return m_MaximumUpdateTime; }
2176 
2180  virtual const HSelectionHighlightMode GetHighlightMode() { return m_HighlightMode; }
2181 
2186  virtual void SetHighlightMode(HSelectionHighlightMode m);
2187 
2191  virtual void SetReferenceSelection(bool use_ref);
2192 
2199  bool GetKeyState(unsigned int key, int &flags);
2200 
2202  void ResetKeyState();
2203 
2207  void SetFastFitWorld(bool fw) { m_bFastFitWorld = fw; }
2208 
2214  void GetSceneExtents(HPoint &min, HPoint &max);
2215 
2219  void SetLightScaling(float sv);
2220 
2221  void SetXYSizeOverride(int x,int y) { m_XSize_override = x, m_YSize_override = y; }
2222 
2223 
2225  int GetXSize() {return m_XSize;}
2226 
2228  int GetYSize() {return m_YSize;}
2229 
2231  HViewSelectionLevel GetViewSelectionLevel();
2232 
2241  void SetViewSelectionLevel(HViewSelectionLevel level);
2242 
2251  void EnableTargetFrameRate(bool enable=true, int target=100, int threshold=10, int steps=5);
2252 
2257  float GetFramerate();
2258 
2260  FramerateMode GetFramerateMode();
2261 
2263  int GetFramerateCullingThreshold();
2264 
2269  int GetFramerateSteps();
2270 
2272  bool IsFramerateLodEnabled();
2273 
2287  void SetFramerateMode(FramerateMode mode, float framerate = 0.1f, int cullingthreshold = 150,
2288  bool enableLods = false, int steps = 20, int cutoff = 1);
2289 
2291  bool IsFrameRateEnabled();
2292 
2294  bool GetViewActive();
2295 
2297  void cleanupSimpList();
2298 
2302  void SetAnnotationResize(bool value);
2303 
2305  bool GetAnnotationResize() { return m_AnnotationCookie==0?false:true; }
2306 
2308  bool GetFirstUpdate() { return m_bFirstUpdate; }
2309 
2311  void SetDisplayHandlesOnDblClk(bool dh) { m_bDisplayHandlesOnDblClk = dh; }
2312 
2314  bool HasInitialView() { return m_has_initial_view; }
2315 
2317  void HasInitialView(bool does_it) { m_has_initial_view=does_it; }
2318 
2320  void ExhaustiveUpdate();
2321 
2323  bool GetUpdateNotFinished() { return m_bUpdateNotFinished; }
2324 
2326  void SetUpdateNotFinished(bool NotFinished) { m_bUpdateNotFinished = NotFinished; }
2327 
2328  /* This method sets the mousewheel sensitivity which is used to control the apparent sensitivity of the mousewheel for MVO operators.
2329  \param sensitivity value is strictly positive float. */
2330  void SetMouseWheelSensitivity(float sensitivity) {
2331  if (sensitivity > 0)
2332  m_MouseWheelSensitivity = sensitivity;
2333  }
2334  /* Use this in an operator to modify the return value of HEventInfo::GetMouseWheelDelta()
2335  \return value of the operator mousewheel sensitivity, a strictly positive value. */
2336  float GetMouseWheelSensitivity() { return m_MouseWheelSensitivity; }
2337 
2339  void SetSplatRendering(bool onoff);
2340 
2342  bool GetSplatRendering() { return m_bSplatRendering; };
2343 
2345  void SetSplatSize(int splat_size);
2346 
2348  int GetSplatSize() { return m_SplatSize; };
2349 
2351  void SetSplatSymbol(SplatSymbol symbol);
2352 
2354  SplatSymbol GetSplatSymbol() {return m_SplatSymbol;};
2355 
2356 
2360  void UpdateFakeHLRColor(HPoint paper_color);
2361 
2363  void SetHardwareAntialiasing(int antialiasinglevel) { m_HardwareAntialiasing = antialiasinglevel; }
2364 
2366  int GetHardwareAntialiasing() { return m_HardwareAntialiasing; }
2367 
2371  static void StaticForceUpdateRequest(void * view_pointer);
2372 
2373  /*
2374  This method can be used to visualize the internal bounding stored on segments
2375  and some types of geometry. The bounding is drawn outside of the model so it does not
2376  interfere with static trees. It is semi-transparent with a color that indicates the
2377  bounding density: blue is very dense, red is sparse, green is somewhere in between.
2378  \param draw_something If this value is false, any existing bounding geometry will simply
2379  be discarded. If it is true, a new bounding geometry will also be generated.
2380  \param key The key of the segment or geometry whose bounding should be visualized.
2381  \param incl_count The number of keys in the incl_path array.
2382  \param incl_path This array of keys should be structured for a PShow. That is, the leaf
2383  as the first entry followed by a series of include keys mapping a path to the view.
2384  */
2385  void VisualizeBounding(bool draw_something, HC_KEY key=INVALID_KEY, int incl_count=0, HC_KEY * incl_path=0);
2386 
2387 
2388  /*
2389  Retrieves the color set by an earlier call to SetFakeHLRColor.
2390  \return the color as an rgb triplet with values from 0.0 to 1.0.
2391  */
2392  HPoint GetFakeHLRColor();
2393 
2394  /*
2395  Sets the color to be used in fake hidden-line render mode.
2396  \param color An rgb triplet with values from 0.0 to 1.0.
2397  */
2398  void SetFakeHLRColor(HPoint color);
2399 
2400  /*
2401  Orients the camera to point at selected geometry and sets depth-of-field to keep it in focus.
2402  \param onoff passing true will focus on the selected geometry, passing false will remove an earlier depth-of-field setting.
2403  */
2404  void FocusOnSelection(bool onoff = true);
2405 
2406  /*
2407  \return true if the view is currently focused on a selection via a previous call to FocusOnSelection(), false otherwise.
2408  */
2409  bool GetFocusOnSelection() { return m_FocusedOnSelection; }
2410 
2412  HTouchManager *GetTouchManager() { return m_TouchManager; }
2413 
2414 protected:
2419  int m_CPMode;
2430  bool m_bDisplayHandlesOnDblClk;
2431  bool m_has_initial_view;
2434  int m_HardwareAntialiasing;
2442  HPoint m_SceneBoundingMin;
2443  HPoint m_SceneBoundingMax;
2444  bool m_bSceneBoundingSet;
2445  bool m_bFastFitWorld;
2451  bool m_bNavCube;
2481 
2482 
2483  HC_KEY m_InfoTextKey;
2484 
2488  HC_KEY m_SceneLight[MaxLights];
2500  void (* m_pfEventChecker)(HIC_Rendition const *nr);
2501  bool (* m_pfKeyState)(unsigned int, int &);
2515  float m_IdleTime;
2527  unsigned long m_AnnotationCookie;
2528  unsigned long m_AxisResizeCookie;
2529  FramerateMode m_FramerateMode;
2530  bool m_bSplatRendering;
2531  int m_SplatSize;
2532  SplatSymbol m_SplatSymbol;
2533  bool m_FocusedOnSelection;
2534 
2541  void ComputeShadowParams(HPlane& shadow_plane, HPoint& light_pos);
2542 
2548  void AdjustShadowPlane(HPlane& shadow_plane, HPoint const & light_pos);
2549 
2555  void SetShadowParams(const HPlane& shadow_plane, const HPoint& light_pos,
2556  const HPoint* color = 0, const char * filter = 0);
2557 
2564  virtual void SetShadowParams(HShadow* shadowObj);
2565 
2568  void RefreshViewSize();
2569 
2575  void QueryDeviceCapabilities();
2576 
2585  virtual void UpdateInternal(bool antialias = false, bool force_update = false);
2586 
2587 
2592  virtual void SetupLights();
2593 
2594 private:
2595  float m_LastRecordTime;
2597  char * m_sDriverPath; // fully rooted pathname of driver instance
2598  char * m_sDriverType; // driver type; e.g. msw, opengl, x11
2599  char * m_sAlias;
2600  void * m_pWindowHandle;
2601  void * m_pColormap;
2602  void * m_pClipOverride;
2603  void * m_pWindowHandle2;
2604  struct vlist_s *m_SignalRequestsList;
2605  HBaseViewEmitMessageFunction emit_message_function;
2606  void * emit_message_function_user_data;
2607  HTClient * m_pUpdateTimerClient;
2608  bool m_bPrevBackplaneCullMode; // this caches backplane cull mode (which is switched off when capping planes are turned off with cutting planes on )
2609  bool m_bHasObjects;
2610  float m_fZoomLimit;
2611  int m_SuppressUpdate;
2612  int m_SuppressUpdateTick;
2613  bool m_bDynamicHighlighting;
2614  int m_XSize;
2615  int m_YSize;
2616  int m_XSize_override;
2617  int m_YSize_override;
2618  float m_LastMouseWheelTime;
2619  float m_MouseWheelSensitivity;
2620  bool m_KeyMap[256];
2621  int m_KeyFlags;
2622  bool m_bOwnDriver;
2623  bool m_bUpdateNotFinished;
2624  int m_NotFinishedCounter;
2625  HPoint m_FakeHLRColor;
2626  HConstFRSimpType **SimpList;
2627  int simpListLength;
2628  int m_OldCullingThreshold;
2629  float *m_pTempClipArray;
2630  ViewUpdateMode m_OldViewUpdateMode;
2631  bool m_UseExplicitShadowLight;
2632  HPoint m_ExplicitShadowLightDirection;
2633  int m_LightCount;
2634 
2635  //no default constructor
2636  HBaseView() {;};
2637 
2638  //obsolete
2639  HBaseView(HBaseModel *model, char * alias, char * driver_type,char * instance_name, long window_handle, long colormap) {;};
2640 
2641  //obsolete
2642  void RebindView(HBaseModel *model, char * alias, char * driver_type,char * instance_name, long window_handle, long colormap) {;};
2643 
2644 };
2645 
2646 
2647 #ifdef H_PACK_8
2648 #pragma pack(pop)
2649 #endif
2650 
2651 #endif
self-explanatory
Definition: HBaseView.h:104
bool GetFirstUpdate()
Definition: HBaseView.h:2308
HBaseOperator * m_pOperator
Definition: HBaseView.h:2491
bool GetAllowInteractiveCutGeometry()
Definition: HBaseView.h:2003
void SetKeyStateCallback(bool(*KeyState)(unsigned int, int &))
Definition: HBaseView.h:777
HUndoManager * m_pUndoManager
Definition: HBaseView.h:2505
SplatSymbol
Definition: HBaseView.h:287
no handedness; only applies to polygon-handedness
Definition: HBaseView.h:181
bool m_bUpdateRequested
Definition: HBaseView.h:2503
void ClearUpdateRequest()
Definition: HBaseView.h:1640
void(* HBaseViewEmitMessageFunction)(const char *message, unsigned int length, void *user_data)
Definition: HBaseView.h:301
bool m_bBeginShellSelection
Definition: HBaseView.h:2429
bool GetShadowRegenerationMode()
Definition: HBaseView.h:1882
The HConstantFrameRate class provides support for maintaining a constant framerate when rendering...
Definition: HConstantFrameRate.h:493
void SetConstructionKey(HC_KEY construct_key)
Definition: HBaseView.h:976
self-explanatory
Definition: HBaseView.h:106
same as HReanderShaded but with lines visible
Definition: HBaseView.h:84
bool GetSpritingMode()
Definition: HBaseView.h:899
bool GetCPFaceVisibility()
Definition: HBaseView.h:733
float m_SmoothTransitionDuration
Definition: HBaseView.h:2453
FramerateMode
Definition: HBaseView.h:152
MultiThreadingType
Definition: HBaseView.h:198
void InvalidateSceneBounding()
Definition: HBaseView.h:1549
void SetCuttingPlaneGeomKey(HC_KEY cuttingplanegeom_key)
Definition: HBaseView.h:997
HC_KEY m_ViewKey
Definition: HBaseView.h:2460
virtual HFileOutputResult FileOutput(const char *FileName, HOutputHandler *handler, HOutputHandlerOptions *options=0)
Definition: HBaseView.h:685
HShadowRenderingMode
Definition: HBaseView.h:246
ViewMode GetViewMode()
Definition: HBaseView.h:719
bool m_bCPFaceVisibility
Definition: HBaseView.h:2418
opengl p-buffer shadow generation
Definition: HBaseView.h:249
bool m_bAllowInteractiveShadows
Definition: HBaseView.h:2518
HUtilityAntialiasing * GetAntialiasing()
Definition: HBaseView.h:484
simulate hidden line (regular hardware z-buffer, with faces set to window background color) ...
Definition: HBaseView.h:73
HBaseModel * m_pModel
Definition: HBaseView.h:2459
ViewUpdateMode
Definition: HBaseView.h:237
bool m_bShadowRegeneration
Definition: HBaseView.h:2511
bool IsLightFollowCamera()
Definition: HBaseView.h:1249
opengl software shadow generation
Definition: HBaseView.h:250
void SetViewKey(HC_KEY view_key)
Definition: HBaseView.h:922
negative X, positive Y, positive Z
Definition: HBaseView.h:111
HBaseOperator * GetOperator()
Definition: HBaseView.h:1207
HUtilityAntialiasing * m_pAntialiasing
Definition: HBaseView.h:2447
void SetSmoothTransitionDuration(float duration)
Definition: HBaseView.h:1243
Definition: HMarkupManager.h:35
void SetMarkupManager(HMarkupManager *markup)
Definition: HBaseView.h:495
edges and non-lit faces
Definition: HBaseView.h:69
const char * GetDriverPath(void)
Definition: HBaseView.h:692
negative X, positive Y, positive Z
Definition: HBaseView.h:113
HC_KEY m_FakeHLRStyle
Definition: HBaseView.h:2415
ViewUpdateMode GetViewUpdateMode()
Definition: HBaseView.h:1696
void HasInitialView(bool does_it)
Definition: HBaseView.h:2317
self-explanatory
Definition: HBaseView.h:140
unknown mode
Definition: HBaseView.h:166
HC_KEY GetDefaultLightKey(int which=0)
Definition: HBaseView.h:1094
void SetCurrentOperator(HBaseOperator *NewOperator)
Definition: HBaseView.h:1202
bool m_bMouseMove
Definition: HBaseView.h:2509
bool GetUpdateNotFinished()
Definition: HBaseView.h:2323
fake hidden line
Definition: HBaseView.h:91
No display lists.
Definition: HBaseView.h:190
virtual void SetCuttingPlaneRegenerationMode(bool onoff)
Definition: HBaseView.h:1877
The HObjectManager class keeps track of generic MVO objects.
Definition: HEventManager.h:143
HC_KEY GetIncludeLinkKey(void)
Definition: HBaseView.h:925
int GetXSize()
Definition: HBaseView.h:2225
self-explanatory
Definition: HBaseView.h:101
HConstantFrameRate * m_pConstantFrameRate
Definition: HBaseView.h:2495
DisplayListType m_DisplayListType
Definition: HBaseView.h:2437
bool m_bCuttingPlaneRegeneration
Definition: HBaseView.h:2513
bool m_bFirstUpdate
Definition: HBaseView.h:2516
HC_KEY GetProgressBarKey(void)
Definition: HBaseView.h:1007
bool GetSmoothTransition()
Definition: HBaseView.h:1233
void SetZoomLimit(float zoomLimit)
Definition: HBaseView.h:957
void UpdateAxisTriad()
Definition: HBaseView.h:1055
bool(* HSignalNotifyFunction)(int signal, void *signal_data, void *user_data)
Definition: HBaseView.h:59
HC_KEY m_CuttingPlanesKey
Definition: HBaseView.h:2472
self-explanatory
Definition: HBaseView.h:155
phong shading
Definition: HBaseView.h:77
gouraud (smooth) shading with edges turned on
Definition: HBaseView.h:76
void SetLightsKey(HC_KEY lights_key)
Definition: HBaseView.h:949
virtual HFileInputResult FileInput(const char *FileName, HInputHandler *handler, HInputHandlerOptions *options=0)
Definition: HBaseView.h:610
bool m_bAxisTriadTransparencyAllowed
Definition: HBaseView.h:2423
bool GetForceFastHiddenLine()
Definition: HBaseView.h:2063
virtual void SetShadowRegenerationToggle()
Definition: HBaseView.h:1867
int GetSplatSize()
Definition: HBaseView.h:2348
quick-moved geometry was last drawn as overlay, meaning that colors are correct, but that the quick-m...
Definition: HBaseView.h:265
This tells the MVO framework to implicitly perform continuous updates by polling for posted update ev...
Definition: HBaseView.h:240
gouraud (smooth) shading
Definition: HBaseView.h:75
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:667
#define HC_KEY
HSelectionSet * m_pHighlight
Definition: HBaseView.h:2494
The HCamera class is the data type of a HOOPS Camera Attribute.
Definition: HUtility.h:543
void SetEmitMessageFunction(HBaseViewEmitMessageFunction new_emit_message_function, void *user_data=0)
Definition: HBaseView.h:1404
HImCuttingGeometry * m_pHImCuttingGeometry
Definition: HBaseView.h:2446
bool GetTransparentSelectionBoxMode()
Definition: HBaseView.h:1098
The represented size of an object doesn't depend on how close or far it is—this can be handy in archi...
Definition: HBaseView.h:168
bool m_bAllowInteractiveCutGeometry
Definition: HBaseView.h:2519
virtual bool GetHasObjects()
Definition: HBaseView.h:1949
bool m_bLButtonDown
Definition: HBaseView.h:2508
void SetUpdateInterrupted(int val)
Definition: HBaseView.h:1021
clamps to LOD1
Definition: HBaseView.h:85
void SetAllowInteractiveCutGeometry(bool onoff)
Definition: HBaseView.h:2009
HSelectionSet * GetHighlightSelection()
Definition: HBaseView.h:2146
self-explanatory
Definition: HBaseView.h:179
bool GetCPLineVisibility()
Definition: HBaseView.h:730
float GetSmoothTransitionDuration()
Definition: HBaseView.h:1246
self-explanatory
Definition: HBaseView.h:180
HC_KEY m_IntersectPolylinesKey
Definition: HBaseView.h:2476
Definition: HImCuttingGeometry.h:124
This tells the MVO framework not to implicitly perform updates. They will be explicity made by calls ...
Definition: HBaseView.h:239
void SetIsoDefault(ViewMode vm)
Definition: HBaseView.h:2104
Fast hidden line.
Definition: HBaseView.h:211
HVector m_TopAxis
Definition: HBaseView.h:2457
bool m_bCuttingPlanesVisibility
Definition: HBaseView.h:2421
bool GetTextAntialiasing()
Definition: HBaseView.h:2099
brep wireframe
Definition: HBaseView.h:89
positive X, positive Y, positive Z (same as HViewISO)
Definition: HBaseView.h:115
wireframe, with shaded lines
Definition: HBaseView.h:81
bool m_bNavCube
Definition: HBaseView.h:2451
HC_KEY GetOverwriteKey(void)
Definition: HBaseView.h:938
void SetBBoxGeometryKey(HC_KEY bbox_key)
Definition: HBaseView.h:981
HLRMode
Definition: HBaseView.h:208
bool m_bCPLineVisibility
Definition: HBaseView.h:2417
HandednessMode
Definition: HBaseView.h:177
virtual void SetShadowRegenerationMode(bool onoff)
Definition: HBaseView.h:1863
In a "stretched" view, an orthographic projection is made, and then the view is "stretched" to fit ex...
Definition: HBaseView.h:169
HObjectManager * m_pObjectManager
Definition: HBaseView.h:2506
The HSelectionSet class manages a list of selected items.
Definition: HSelectionSet.h:71
AxisMode m_bAxisMode
Definition: HBaseView.h:2449
HSelectionHighlightMode
Definition: HGlobals.h:554
bool m_bTransparentSelectionBox
Definition: HBaseView.h:2525
Definition: HGlobals.h:316
Definition: HTManager.h:162
void SetFastFitWorld(bool fw)
Definition: HBaseView.h:2207
Analytic hidden line.
Definition: HBaseView.h:210
HEventManager * m_pEventManager
Definition: HBaseView.h:2504
HC_KEY m_ProgressBarKey
Definition: HBaseView.h:2480
HC_KEY m_OverwriteKey
Definition: HBaseView.h:2464
self-explanatory
Definition: HBaseView.h:102
void SetSpritingMode(bool onoff)
Definition: HBaseView.h:906
virtual const HSelectionHighlightMode GetHighlightMode()
Definition: HBaseView.h:2180
HC_KEY m_WindowspaceKey
Definition: HBaseView.h:2468
virtual bool GetCameraChanged()
Definition: HBaseView.h:1890
void SetUpdateNotFinished(bool NotFinished)
Definition: HBaseView.h:2326
void(*)(HIC_Rendition const *nr) GetEventCheckerCallback()
Definition: HBaseView.h:783
float m_IdleTime
Definition: HBaseView.h:2515
class HPoint HVector
The HVector class is the data type of a three-dimensional vector.
Definition: HGlobals.h:332
int m_CPMode
Definition: HBaseView.h:2419
star bloom
Definition: HBaseView.h:257
unknown view mode
Definition: HBaseView.h:129
const char * GetDriverType(void)
Definition: HBaseView.h:695
virtual void SetInvertMouseWheelZoom(bool val=true)
Definition: HBaseView.h:1895
Geometry-level display lists.
Definition: HBaseView.h:191
bool GetDynamicHighlighting()
Definition: HBaseView.h:1729
HSelectionHighlightMode m_HighlightMode
Definition: HBaseView.h:2436
bool GetSceneBoundingSet()
Definition: HBaseView.h:1540
ViewUpdateMode m_ViewUpdateMode
Definition: HBaseView.h:2502
class HDebugZBuffer * m_pDebugZBuffer
Definition: HBaseView.h:2507
void SetViewAxis(HVector *front_axis, HVector *top_axis)
Definition: HBaseView.h:2154
same as HViewIsoxYz
Definition: HBaseView.h:120
bool EmittingMessages()
Definition: HBaseView.h:1414
unknown mode
Definition: HBaseView.h:138
void SetSuppressUpdateTick(bool suppress)
Definition: HBaseView.h:1664
HCutGeometryVisibility
Definition: HGlobals.h:107
HC_KEY GetShadowMapSegmentKey(void)
Definition: HBaseView.h:941
HEventInfo * m_pEvent
Definition: HBaseView.h:2492
bool m_bTextAntialiasing
Definition: HBaseView.h:2428
currently does nothing
Definition: HBaseView.h:72
bool GetAnnotationResize()
Definition: HBaseView.h:2305
void SetHardwareAntialiasing(int antialiasinglevel)
Definition: HBaseView.h:2363
Objects which are close to the eye appear large, and objects which are far away appear small...
Definition: HBaseView.h:167
Like AxisOn, but without the planes.
Definition: HBaseView.h:220
The HEventManager class dispatches arbitrary events.
Definition: HEventManager.h:50
vertices only (shaded)
Definition: HBaseView.h:83
The driver returns geometry objects from selections.
Definition: HBaseView.h:278
void SetProgressBarKey(HC_KEY key)
Definition: HBaseView.h:1012
bool GetCuttingPlaneRegenerationMode()
Definition: HBaseView.h:1871
void SetDisplayHandlesOnDblClk(bool dh)
Definition: HBaseView.h:2311
bool m_bSmoothTransition
Definition: HBaseView.h:2452
the driver is unable to quick move at all
Definition: HBaseView.h:263
HBloomShape
Definition: HBaseView.h:254
same as HReanderShaded but with lines visible
Definition: HBaseView.h:79
HC_KEY m_BBoxGeometryKey
Definition: HBaseView.h:2466
bool m_bLineAntialiasing
Definition: HBaseView.h:2427
AxisMode GetAxisMode()
Definition: HBaseView.h:1041
The HDB class serves as a wrapper/utility class to manage an instance of the HOOPS/3dGS scene-graph...
Definition: HDB.h:38
HRenderMode
Definition: HBaseView.h:66
self-explanatory
Definition: HBaseView.h:139
bool GetHideOverlappedText()
Definition: HBaseView.h:1220
ViewMode
Definition: HBaseView.h:98
HRenderMode m_RenderMode
Definition: HBaseView.h:2489
HSelectionSet * m_pSelection
Definition: HBaseView.h:2493
LightingIntMode
Definition: HBaseView.h:136
self-explanatory
Definition: HBaseView.h:156
void RequestUpdate()
Definition: HBaseView.h:1636
void SetNavCube(bool onoff)
Definition: HBaseView.h:1230
HC_KEY GetAxisTriadKey()
Definition: HBaseView.h:1217
bool(*)(unsigned int, int &) GetKeyStateCallback()
Definition: HBaseView.h:780
The HBaseModel class is used to store and manage model information.
Definition: HBaseModel.h:52
bool m_bLightFollowsCamera
Definition: HBaseView.h:2454
The HBaseOperator class serves as a base for classes which handle user input and operate on the scene...
Definition: HBaseOperator.h:65
quick-moved geometry was last drawn as spriting, color-correct and depth-mixed with the rest of the s...
Definition: HBaseView.h:266
hidden line-ish removal
Definition: HBaseView.h:88
wireframe + silhouette
Definition: HBaseView.h:80
bool GetRecordMode()
Definition: HBaseView.h:2048
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
The HUtilityAntialiasing class contains a set of function for software based image antialiasing...
Definition: HUtilityAntialiasing.h:35
HC_KEY GetBBoxGeometryKey(void)
Definition: HBaseView.h:979
void SetForceFastHiddenLine(bool force)
Definition: HBaseView.h:2060
negative X, positive Y, positive Z
Definition: HBaseView.h:110
This class has been deprecated.
Definition: HUtilityShadow.h:98
HQuickMovesMethod
Definition: HBaseView.h:261
HBaseOperator * GetCurrentOperator()
Definition: HBaseView.h:1213
float GetMaximumUpdateTime()
Definition: HBaseView.h:2175
bool GetAllowInteractiveShadows()
Definition: HBaseView.h:1978
DisplayListType
Definition: HBaseView.h:188
HC_KEY m_AxisTriadKey
Definition: HBaseView.h:2478
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
HRenderMode GetRenderMode()
Definition: HBaseView.h:716
self-explanatory
Definition: HBaseView.h:103
void * GetEmitMessageFunctionUserData()
Definition: HBaseView.h:1424
HC_KEY GetViewKey(void)
Definition: HBaseView.h:920
HConstantFrameRate * GetConstantFrameRateObject(void)
Definition: HBaseView.h:766
virtual HBaseModel * GetModel()
Definition: HBaseView.h:709
none view mode
Definition: HBaseView.h:100
bool HasInitialView()
Definition: HBaseView.h:2314
HAnimateMode
Definition: HBaseView.h:1519
HC_KEY m_FakeHLRSource
Definition: HBaseView.h:2416
bool m_bCuttingPlanesExist
Definition: HBaseView.h:2420
virtual float GetDefaultSelectionProximity()
Definition: HBaseView.h:1970
void SetCuttingPlanesKey(HC_KEY cuttingplanes_key)
Definition: HBaseView.h:989
bool m_bSpritingAllowed
Definition: HBaseView.h:2422
HBaseOperator * m_pHandleOperator
Definition: HBaseView.h:2517
bool m_bGeometryChanged
Definition: HBaseView.h:2441
bool GetSuppressUpdateTick()
Definition: HBaseView.h:1674
Segment-level display lists.
Definition: HBaseView.h:192
HMarkupManager * m_pMarkupManager
Definition: HBaseView.h:2448
edges/lines only
Definition: HBaseView.h:68
Square.
Definition: HBaseView.h:290
HVector m_FrontAxis
Definition: HBaseView.h:2456
bool m_bInvertMouseWheelZoom
Definition: HBaseView.h:2526
ViewMode m_ViewMode
Definition: HBaseView.h:2490
image driver shadow generation
Definition: HBaseView.h:248
int m_AxisWindowSize
Definition: HBaseView.h:2424
HSharedKey * GetSharedKey()
Definition: HBaseView.h:1509
bool GetCuttingPlanesVisibility()
Definition: HBaseView.h:758
void * GetWindowHandle()
Definition: HBaseView.h:2025
positive X, positive Y, positive Z (same as HViewISO)
Definition: HBaseView.h:108
void SetAllowInteractiveShadows(bool onoff)
Definition: HBaseView.h:1987
Definition: HConstantFrameRate.h:84
HCamera m_InitialCamera
Definition: HBaseView.h:2522
int m_InUpdateInternal
Definition: HBaseView.h:2499
ViewMode m_IsoDefault
Definition: HBaseView.h:2435
bool GetSuppressUpdate()
Definition: HBaseView.h:1657
HSelectionSet * GetSelection(void)
Definition: HBaseView.h:701
unknown mode
Definition: HBaseView.h:154
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:214
bool m_bForceFastHiddenLine
Definition: HBaseView.h:2426
indicates shaded rendering; underlying code will use phong if hardware accel is avialable, otherwise gouraud will be used
Definition: HBaseView.h:78
virtual void ClearGeometryChanged()
Definition: HBaseView.h:1569
void SetSelection(HSelectionSet *selection)
Definition: HBaseView.h:706
float m_DefaultSelectionProximity
Definition: HBaseView.h:2520
UpDirection
Definition: HBaseView.h:226
Gooch Shaded.
Definition: HBaseView.h:90
HShadowMode
Definition: HGlobals.h:97
HC_KEY m_SceneKey
Definition: HBaseView.h:2462
void SetMaximumUpdateTime(float mut)
Definition: HBaseView.h:2170
HSharedKey * m_pSharedKey
Definition: HBaseView.h:2497
HShadowMode m_ShadowMode
Definition: HBaseView.h:2496
negative X, positive Y, positive Z
Definition: HBaseView.h:112
This tells the MVO framework to implicitly perform continuous culled, timed updates drawing culled it...
Definition: HBaseView.h:241
hidden line-ish removal
Definition: HBaseView.h:87
HBaseViewEmitMessageFunction GetEmitMessageFunction()
Definition: HBaseView.h:1419
Definition: HUndoManager.h:174
quick-moved geometry was last drawn as XOR (exclusive OR), meaning that colors are often inverted or ...
Definition: HBaseView.h:264
bool GetUpdateRequested()
Definition: HBaseView.h:1632
ProjMode
Definition: HBaseView.h:164
void SetSuppressUpdate(bool suppress)
Definition: HBaseView.h:1647
self-explanatory
Definition: HBaseView.h:222
HOpCameraManipulate * m_pManipulateOperator
Definition: HBaseView.h:2510
bool m_bCameraChanged
Definition: HBaseView.h:2514
self-explanatory
Definition: HBaseView.h:105
bool GetSplatRendering()
Definition: HBaseView.h:2342
bool m_bInitialCameraSet
Definition: HBaseView.h:2523
virtual bool GetInvertMouseWheelZoom()
Definition: HBaseView.h:1898
void SetIntersectPolylinesKey(HC_KEY intersectpolylines_key)
Definition: HBaseView.h:1004
int m_UpdateInterrupted
Definition: HBaseView.h:2498
virtual void SetCameraChanged(bool val=true)
Definition: HBaseView.h:1887
The HTouchManager class stores and manages touch input.
Definition: HEventInfo.h:142
same as HViewIsoXYZ and HViewISO
Definition: HBaseView.h:117
clamps to LOD2
Definition: HBaseView.h:86
HC_KEY m_LightsKey
Definition: HBaseView.h:2487
int GetYSize()
Definition: HBaseView.h:2228
Definition: HIOManager.h:247
AxisMode
Definition: HBaseView.h:217
The HOpCameraManipulate class combines the Orbit, Pan and Zoom Operators.
Definition: HOpCameraManipulate.h:47
bool m_bHideOverlappedText
Definition: HBaseView.h:2450
Like AxisOn, but centered differently.
Definition: HBaseView.h:221
bool m_bShadowRegenerationToggle
Definition: HBaseView.h:2512
HC_KEY m_lIncludeLinkKey
Definition: HBaseView.h:2486
shell/mesh silhouette edges
Definition: HBaseView.h:70
self-explanatory
Definition: HBaseView.h:219
void SetDebugZBuffer(HDebugZBuffer *dzb)
Definition: HBaseView.h:1038
hidden line removal
Definition: HBaseView.h:71
ViewMode GetIsoDefault()
Definition: HBaseView.h:2107
The HPlane class is the data type of a plane.
Definition: HGlobals.h:339
void SetConstantFrameRateObject(HConstantFrameRate *cf)
Definition: HBaseView.h:771
int GetHardwareAntialiasing()
Definition: HBaseView.h:2366
SplatSymbol GetSplatSymbol()
Definition: HBaseView.h:2354
bool GetInitialCameraSet()
Definition: HBaseView.h:2030
negative X, positive Y, positive Z
Definition: HBaseView.h:109
void SetIncludeLinkKey(HC_KEY link)
Definition: HBaseView.h:927
The driver returns segment trees from selections.
Definition: HBaseView.h:280
radial bloom
Definition: HBaseView.h:256
vertices only
Definition: HBaseView.h:82
void SetWindowspaceKey(HC_KEY winspace_key)
Definition: HBaseView.h:968
Round.
Definition: HBaseView.h:289
Fake hidden line.
Definition: HBaseView.h:212
Definition: HDebugZBuffer.h:34
HTouchManager * GetTouchManager()
Definition: HBaseView.h:2412
HTouchManager * m_TouchManager
Definition: HBaseView.h:2432
The driver returns segment objects from selections.
Definition: HBaseView.h:279
HC_KEY m_CuttingPlaneGeomKey
Definition: HBaseView.h:2474
positive X, positive Y, positive Z (same as HViewISO)
Definition: HBaseView.h:114
int m_WindowColorPercentage
Definition: HBaseView.h:2455
flat shading
Definition: HBaseView.h:74
bool HaveMarkupManager()
Definition: HBaseView.h:490
float m_MaximumUpdateTime
Definition: HBaseView.h:2521
HC_KEY m_ConstructionKey
Definition: HBaseView.h:2470
bool m_bRecordCamera
Definition: HBaseView.h:2524
same as HViewIsoXYz
Definition: HBaseView.h:119
HShadowMode GetShadowMode()
Definition: HBaseView.h:1071
self-explanatory
Definition: HBaseView.h:107
virtual bool GeometryChanged()
Definition: HBaseView.h:1572
same as HViewIsoxYZ
Definition: HBaseView.h:118
bool GetLineAntialiasing()
Definition: HBaseView.h:2079
int GetLightCount()
Definition: HBaseView.h:1266
virtual HBaseOperator * GetHandleOperator()
Definition: HBaseView.h:1965
Definition: HSharedKey.h:84
virtual void SetHandleOperator(HBaseOperator *op)
Definition: HBaseView.h:1960
void GetViewAxis(HVector *front_axis, HVector *top_axis)
Definition: HBaseView.h:2159
HViewSelectionLevel
Definition: HBaseView.h:276
void SetSceneKey(HC_KEY scene_key)
Definition: HBaseView.h:935
void SetTransparentSelectionBoxMode(bool mode)
Definition: HBaseView.h:1103