The HBaseView class defines and manages a view of model information. More...

#include <HBaseView.h>

Public Types

enum  HAnimateMode { HAnimateScene = 0x00000001 }
 

Public Member Functions

virtual void AdjustAxisWindow (int axis_window_pixels_in=-1, HIntRectangle *rect_in=0)
 
virtual void Animate (int animation_steps=30, HAnimateMode animate_flags=HAnimateScene, int MaxRotation=360)
 
void BeginShellSelection ()
 
virtual void CameraPositionChanged (bool emit_message=false, bool smooth_camera_transition=false)
 
void cleanupSimpList ()
 
virtual void ClearGeometryChanged ()
 
void ClearUpdateRequest ()
 
void ComputeNewField (float &width, float &height, HPoint const &new_tar, HCamera const &old_camera)
 
virtual bool ComputeReasonableTarget (HPoint &new_tar, HPoint const &mouse_win, HPoint const &tar_orig)
 
virtual void DeleteByKeyFromMessage (const char *in_data, unsigned int data_length)
 
virtual void DeleteSelectionList (bool emit_message=false)
 
virtual void DeleteSelectionListFromMessage ()
 
virtual void DeSelectAllFromMessage ()
 
virtual void DoDynamicHighlighting (HPoint mouse_pos)
 
virtual void EmitDeleteByKeyMessage (HC_KEY key)
 
virtual void EmitDeleteSelectionListMessage ()
 
virtual void EmitDeSelectAllMessage ()
 
virtual void EmitFlushMessage ()
 
virtual void EmitHSFData (const char *segment, const char *in_data, unsigned int data_length)
 
virtual void EmitSegment (HC_KEY key, bool emit_contents_only=false)
 
virtual void EmitSelectMessage (HC_KEY key, bool isSelect)
 
virtual void EmitSetModellingMatrixMessage (HC_KEY key)
 
virtual void EmitSetModellingMatrixMessage ()
 
bool EmittingMessages ()
 
void EnableTargetFrameRate (bool enable=true, int target=100, int threshold=10, int steps=5)
 
void EndShellSelection ()
 
void ExhaustiveUpdate ()
 
virtual HFileInputResult FileInput (const __wchar_t *FileName, HInputHandler *handler, HInputHandlerOptions *options=0)
 
virtual HFileInputResult FileInput (const char *FileName, HInputHandler *handler, HInputHandlerOptions *options=0)
 
virtual HFileOutputResult FileOutput (const __wchar_t *FileName, HOutputHandler *handler, HOutputHandlerOptions *options=0)
 
virtual HFileOutputResult FileOutput (const char *FileName, HOutputHandler *handler, HOutputHandlerOptions *options=0)
 
void FitItemByPath (HC_KEY key, int incl_count, HC_KEY *incl_path)
 
void FitSegment (HC_KEY seg_key)
 
void FitSelection (HC_KEY key=INVALID_KEY, bool adjustToShellNormal=false)
 
virtual void FitWorld (HPoint *center_out=0)
 
virtual void FitWorldExact (HPoint *center_out=0)
 
virtual void Flush (bool emit_message=false)
 
virtual void FlushFromMessage (const char *in_data, unsigned int data_length)
 
void FlushProgressBar ()
 
void FocusOnSelection (bool onoff=true)
 
virtual void ForceUpdate ()
 
virtual bool GeometryChanged ()
 
bool GetAllowInteractiveCutGeometry ()
 
bool GetAllowInteractiveShadows ()
 
bool GetAnnotationResize ()
 
HUtilityAntialiasingGetAntialiasing ()
 
AxisMode GetAxisMode ()
 
HC_KEY GetAxisTriadKey ()
 
bool GetBackplaneCulling ()
 
HC_KEY GetBBoxGeometryKey ()
 
virtual void GetCamera (HPoint *pos, HPoint *tar, HPoint *up, float &fieldx, float &fieldy, char *proj)
 
virtual void GetCamera (HCamera *camera)
 
virtual bool GetCameraChanged ()
 
bool GetColorIndexInterpolation (char *option=0)
 
HConstantFrameRateGetConstantFrameRateObject ()
 
HC_KEY GetConstructionKey ()
 
bool GetCPFaceVisibility ()
 
bool GetCPLineVisibility ()
 
int GetCullingThreshold ()
 
HBaseOperatorGetCurrentOperator ()
 
HCutGeometryVisibility GetCutGeometryVisibility ()
 
HC_KEY GetCuttingPlaneGeomKey ()
 
bool GetCuttingPlaneRegenerationMode ()
 
bool GetCuttingPlanesExist (const char *plane=0)
 
HC_KEY GetCuttingPlanesKey ()
 
bool GetCuttingPlanesVisibility ()
 
class HDebugZBufferGetDebugZBuffer ()
 
HC_KEY GetDefaultLightKey (int which=0)
 
virtual float GetDefaultSelectionProximity ()
 
bool GetDetailedFitWorld ()
 
virtual bool GetDetailSelectionMode ()
 
bool GetDisplayListMode ()
 
DisplayListType GetDisplayListType ()
 
const char * GetDriverPath ()
 
const char * GetDriverType ()
 
bool GetDynamicHighlighting ()
 
HBaseViewEmitMessageFunction GetEmitMessageFunction ()
 
void * GetEmitMessageFunctionUserData ()
 
HEventManagerGetEventManager ()
 
HPoint GetFakeHLRColor ()
 
bool GetFastFitWorld ()
 
bool GetFastMarkerDrawing ()
 
bool GetFirstUpdate ()
 
bool GetFocusOnSelection ()
 
bool GetForceFastHiddenLine ()
 
bool GetFrameBufferEffectsOptions (char *options=0, int *border=0)
 
float GetFramerate ()
 
int GetFramerateCullingThreshold ()
 
FramerateMode GetFramerateMode ()
 
int GetFramerateSteps ()
 
HandednessMode GetHandedness ()
 
virtual HBaseOperatorGetHandleOperator ()
 
int GetHardExtent ()
 
int GetHardwareAntialiasing ()
 
virtual bool GetHasObjects ()
 
bool GetHideOverlappedText ()
 
virtual HSelectionHighlightMode GetHighlightMode ()
 
HSelectionSetGetHighlightSelection ()
 
HObjectManagerGetHObjectManager ()
 
float GetIdleTime ()
 
HC_KEY GetIncludeLinkKey ()
 
bool GetInitialCameraSet ()
 
HC_KEY GetIntersectPolylinesKey ()
 
virtual bool GetInvertMouseWheelZoom ()
 
ViewMode GetIsoDefault ()
 
bool GetKeyState (unsigned int key, int &flags)
 
int GetLightCount ()
 
HC_KEY GetLightsKey ()
 
bool GetLineAntialiasing ()
 
bool GetLodMode ()
 
int GetLodThreshold ()
 
HMarkupManagerGetMarkupManager ()
 
float GetMaximumUpdateTime ()
 
virtual HBaseModelGetModel ()
 
HC_KEY GetModelKey ()
 
float GetMouseWheelSensitivity ()
 
HBaseOperatorGetOperator ()
 
HC_KEY GetOverwriteKey ()
 
HandednessMode GetPolygonHandednessMode ()
 
HC_KEY GetProgressBarKey ()
 
ProjMode GetProjMode ()
 
HQuickMovesMethod GetQuickMovesMethod () const
 
bool GetRecordMode ()
 
virtual int GetRelatedSelectionLimit ()
 
HRenderMode GetRenderMode ()
 
virtual bool GetRespectSelectionCulling ()
 
bool GetSceneBoundingSet ()
 
void GetSceneExtents (HPoint &min, HPoint &max)
 
HC_KEY GetSceneKey ()
 
HSelectionSetGetSelection ()
 
virtual bool GetShadowIgnoresTransparency ()
 
virtual bool GetShadowLightDirection (HPoint *direction=0)
 
HC_KEY GetShadowMapSegmentKey ()
 
HShadowMode GetShadowMode ()
 
bool GetShadowRegenerationMode ()
 
HShadowRenderingMode GetShadowRenderingMode ()
 
HSharedKeyGetSharedKey ()
 
bool GetSmoothTransition ()
 
float GetSmoothTransitionDuration ()
 
bool GetSplatRendering ()
 
int GetSplatSize ()
 
SplatSymbol GetSplatSymbol ()
 
bool GetSpritingMode ()
 
bool GetSuppressUpdate ()
 
bool GetSuppressUpdateTick ()
 
bool GetTextAntialiasing ()
 
HTouchManagerGetTouchManager ()
 
bool GetTransparentSelectionBoxMode ()
 
HUndoManagerGetUndoManager ()
 
int GetUpdateInterrupted ()
 
bool GetUpdateNotFinished ()
 
bool GetUpdateRequested ()
 
bool GetViewActive ()
 
void GetViewAxis (HVector *front_axis, HVector *top_axis)
 
HC_KEY GetViewKey ()
 
ViewMode GetViewMode ()
 
HViewSelectionLevel GetViewSelectionLevel ()
 
ViewUpdateMode GetViewUpdateMode ()
 
virtual bool GetVisibilitySelectionMode ()
 
void GetWindowColor (HPoint &color_out)
 
void GetWindowColor (HPoint &color_top, HPoint &color_bottom)
 
void GetWindowColor (HPoint &color_top, HPoint &color_bottom, int &percentage)
 
void * GetWindowHandle ()
 
void GetWindowMaterial (char *out_material, char *out_pattern)
 
HC_KEY GetWindowspaceKey ()
 
int GetXSize ()
 
int GetYSize ()
 
float GetZoomLimit ()
 
bool HasInitialView ()
 
void HasInitialView (bool does_it)
 
bool HaveMarkupManager ()
 
 HBaseView (HBaseModel *model, const char *alias=0, const char *driver_type=0, const char *instance_name=0, void *window_handle=0, void *colormap=0, void *clip_override=0, void *window_handle_2=0, const char *driver_path=0)
 
virtual void Init ()
 
void InitAntialiasing ()
 
void InjectEvent (HEventInfo const &hevent)
 
virtual void InsertHSFData (const char *segment, const char *in_data, unsigned int data_length, bool emit_message=false)
 
virtual void InsertHSFDataFromMessage (const char *in_data, unsigned int data_length)
 
virtual void InternalUpdate ()
 
void InvalidateSceneBounding ()
 
bool IsFrameRateEnabled ()
 
bool IsFramerateLodEnabled ()
 
bool IsLightFollowCamera ()
 
void Notify (int signal, void *signal_data=0)
 
int ObjectMovedEvent (HBaseView *view, HC_KEY key, HPoint *pos)
 
virtual int OnKeyDown (HEventInfo &hevent)
 
virtual int OnKeyUp (HEventInfo &hevent)
 
virtual int OnLButtonDblClk (HEventInfo &hevent)
 
virtual int OnLButtonDown (HEventInfo &hevent)
 
virtual int OnLButtonDownAndMove (HEventInfo &hevent)
 
virtual int OnLButtonUp (HEventInfo &hevent)
 
virtual int OnLRButtonDownAndMove (HEventInfo &hevent)
 
virtual int OnMButtonDownAndMove (HEventInfo &hevent)
 
virtual int OnMouseMove (HEventInfo &hevent)
 
virtual int OnMouseWheel (HEventInfo &hevent)
 
virtual int OnNoButtonDownAndMove (HEventInfo &hevent)
 
virtual int OnRButtonDownAndMove (HEventInfo &hevent)
 
virtual void OnSetAxisMode (AxisMode mode)
 
virtual void PrepareForCameraChange ()
 
void RebindView (const char *alias=0, const char *driver_type=0, const char *instance_name=0, void *window_handle=0, void *colormap=0, void *clip_override=0, void *window_handle_2=0, int debug_flags=0)
 
void RemoveTransforms ()
 
void RenderAntialiasing ()
 
void RenderBRepHiddenLine ()
 
void RenderBRepHiddenLineFast ()
 
void RenderBRepWireframe ()
 
void RenderFakeHiddenLine ()
 
void RenderFlat ()
 
void RenderGooch ()
 
void RenderGouraud ()
 
void RenderGouraudWithLines ()
 
void RenderHiddenLine ()
 
void RenderHiddenLineFast ()
 
void RenderLOD1 ()
 
void RenderLOD2 ()
 
void RenderPhong ()
 
void RenderShaded ()
 
void RenderShadedVertices ()
 
void RenderShadedWireframe ()
 
void RenderShadedWithLines ()
 
void RenderSilhouette ()
 
void RenderVertices ()
 
void RenderWireframe ()
 
void RenderWireframeWithSilhouette ()
 
void RequestUpdate ()
 
void ResetIdleTime ()
 
void ResetKeyState ()
 
void RotateOnUpdate (const char *sname)
 
virtual void SelectFromMessage (const char *in_data, unsigned int data_length)
 
void SetAllowInteractiveCutGeometry (bool onoff)
 
void SetAllowInteractiveShadows (bool onoff)
 
void SetAnnotationResize (bool value)
 
virtual void SetAxisManipulateOperator (HOpCameraManipulate *op)
 
virtual void SetAxisMode (AxisMode mode)
 
void SetBackplaneCulling (bool cull)
 
void SetBBoxGeometryKey (HC_KEY bbox_key)
 
virtual void SetCamera (HPoint pos, HPoint tar, HPoint up, float fieldx, float fieldy, const char *proj)
 
virtual void SetCamera (HCamera camera)
 
virtual void SetCameraChanged (bool val=true)
 
virtual void SetCameraFromMessage (const char *data, unsigned int data_length)
 
void SetColorIndexInterpolation (bool onoff, bool isolines=false)
 
void SetColorInterpolation (bool onoff)
 
void SetConstantFrameRateObject (HConstantFrameRate *cf)
 
void SetConstructionKey (HC_KEY construct_key)
 
void SetCPGeomVisibility (bool lines, bool faces=false)
 
void SetCullingThreshold (int cullingthreshold)
 
void SetCurrentOperator (HBaseOperator *NewOperator)
 
void SetCutGeometryVisibility (HCutGeometryVisibility visibility)
 
void SetCuttingPlaneGeomKey (HC_KEY cuttingplanegeom_key)
 
virtual void SetCuttingPlaneRegenerationMode (bool onoff)
 
void SetCuttingPlanesExist (bool state)
 
void SetCuttingPlanesKey (HC_KEY cuttingplanes_key)
 
void SetCuttingPlanesVisibility (bool visible)
 
void SetDebugZBuffer (HDebugZBuffer *dzb)
 
void SetDefaultHSRA ()
 
virtual void SetDefaultSelectionProximity (float selectionproximity)
 
void SetDepthOfField (bool onoff, float strength=1.0f)
 
void SetDepthOfFieldRange (float near=0.0f, float far=0.0f)
 
void SetDetailedFitWorld (bool fw)
 
virtual void SetDetailSelection (bool onoff)
 
void SetDisplayHandlesOnDblClk (bool dh)
 
void SetDisplayListMode (bool mode)
 
void SetDisplayListType (DisplayListType type)
 
void SetDoubleBuffering (bool double_buffer)
 
void SetDynamicHighlighting (bool state)
 
void SetEmitMessageFunction (HBaseViewEmitMessageFunction new_emit_message_function, void *user_data=0)
 
void SetEventCheckerCallback (void(*EventChecker)(HIC_Rendition const *nr))
 
void SetFakeHLRColor (HPoint color)
 
void SetFastFitWorld (bool fw)
 
void SetFastMarkerDrawing (bool b_fast)
 
virtual void SetFontSize (const char *font_size, bool emit_message=false)
 
virtual void SetFontSizeFromMessage (const char *in_data, unsigned int data_length)
 
void SetForceFastHiddenLine (bool force)
 
void SetFramerateMode (FramerateMode mode, float framerate=0.1f, int cullingthreshold=150, bool enableLods=false, int steps=20, int cutoff=1)
 
virtual void SetGeometryChanged ()
 
virtual void SetHandedness (HandednessMode mode, bool emit_message=false)
 
virtual void SetHandednessFromMessage (const char *in_data, unsigned int data_length)
 
virtual bool SetHandednessFromModel (bool remove_handedness_from_model=true, bool emit_message=false)
 
virtual void SetHandleOperator (HBaseOperator *op)
 
void SetHardExtent (int cutoff)
 
void SetHardwareAntialiasing (int antialiasinglevel)
 
virtual void SetHasObjects (bool hasobjects)
 
void SetHideOverlappedText (bool hide)
 
virtual void SetHighlightMode (HSelectionHighlightMode m)
 
void SetIncludeLinkKey (HC_KEY link)
 
virtual void SetInitialCamera (HPoint pos, HPoint tar, HPoint up, float fieldx, float fieldy, char const *proj)
 
void SetIntersectPolylinesKey (HC_KEY intersectpolylines_key)
 
virtual void SetInvertMouseWheelZoom (bool val=true)
 
void SetIsoDefault (ViewMode vm)
 
void SetKeyStateCallback (bool(*KeyState)(unsigned int, int &))
 
void SetLightCount (int count)
 
void SetLightFollowsCamera (bool onoroff)
 
void SetLightScaling (float sv)
 
void SetLightsKey (HC_KEY lights_key)
 
void SetLineAntialiasing (bool onoff)
 
void SetLodMode (bool onoff)
 
void SetLodThreshold (int val)
 
void SetMarkupManager (HMarkupManager *markup)
 
void SetMaximumUpdateTime (float mut)
 
virtual void SetModellingMatrixFromMessage (const char *in_data, unsigned int data_length)
 
void SetMouseWheelSensitivity (float sensitivity)
 
void SetNavCube (bool onoff)
 
void SetOcclusionCullingMode (bool mode, bool UseOctree=true, int threshold=50)
 
void SetOperator (HBaseOperator *NewOperator)
 
void SetPolygonHandednessMode (HandednessMode)
 
void SetProgressBarKey (HC_KEY key)
 
void SetProjMode (ProjMode mode)
 
void SetRecordCamera (bool rc)
 
virtual void SetReferenceSelection (bool use_ref)
 
virtual void SetReflectionPlane (bool state, float opacity=0.5f, bool fading=true, bool attenuate=false, float hither=0.0f, float yon=1.0f, bool blur=false, int blur_level=1)
 
virtual void SetRelatedSelectionLimit (int limit)
 
virtual void SetRenderMode (HRenderMode NewRenderMode, bool emit_message=false)
 
virtual void SetRenderModeFromMessage (const char *in_data, unsigned int data_length)
 
virtual void SetRespectSelectionCulling (bool onoff)
 
void SetSceneBounding (HPoint &min, HPoint &max)
 
void SetSceneKey (HC_KEY scene_key)
 
void SetSelection (HSelectionSet *selection)
 
virtual void SetShadowBlurring (int blur)
 
virtual void SetShadowColor (HPoint color)
 
virtual void SetShadowIgnoresTransparency (bool ignore)
 
virtual void SetShadowLightDirection (bool explicit_light, HPoint const *direction=0)
 
virtual void SetShadowMode (HShadowMode sm, bool saveMode=true)
 
virtual void SetShadowRegenerationMode (bool onoff)
 
virtual void SetShadowRegenerationToggle ()
 
void SetShadowRenderingMode (HShadowRenderingMode mode)
 
virtual void SetShadowResolution (int res)
 
unsigned long SetSignalNotify (int signal, HSignalNotifyFunction callback, void *user_data)
 
void SetSmoothTransition (bool onoff)
 
void SetSmoothTransitionDuration (float duration)
 
void SetSplatRendering (bool onoff)
 
void SetSplatSize (int splat_size)
 
void SetSplatSymbol (SplatSymbol symbol)
 
void SetSpritingMode (bool onoff)
 
void SetSuppressUpdate (bool suppress)
 
void SetSuppressUpdateTick (bool suppress)
 
void SetTextAntialiasing (bool onoff)
 
void SetTransparency (char const *text, bool fast_z_sort=false)
 
void SetTransparentSelectionBoxMode (bool mode)
 
void SetUpdateInterrupted (int val)
 
void SetUpdateNotFinished (bool NotFinished)
 
int SetupHandlesEvent (HBaseView *view, HC_KEY key, bool complex)
 
void SetViewAxis (HVector *front_axis, HVector *top_axis)
 
void SetViewKey (HC_KEY view_key)
 
virtual void SetViewMode (ViewMode mode, bool invert=false, bool fitWorld=true)
 
void SetViewSelectionLevel (HViewSelectionLevel level)
 
void SetViewUpdateMode (ViewUpdateMode mode, float rate=0.01f)
 
virtual void SetVisibilitySelectionMode (bool onoff)
 
virtual void SetWindowColor (HPoint rgb, bool emit_message=false)
 
virtual void SetWindowColor (HPoint rgbtop, HPoint rgbbottom, bool emit_message=false)
 
virtual void SetWindowColorFromMessage (const char *in_data, unsigned int data_length)
 
virtual void SetWindowColorRange (HPoint rgbtop, HPoint rgbbottom, int percentage, bool emit_message=false)
 
virtual void SetWindowMaterial (const char *name, bool emit_message=false)
 
void SetWindowspaceKey (HC_KEY winspace_key)
 
void SetXYSizeOverride (int x, int y)
 
void SetZoomLimit (float zoomLimit)
 
virtual void SetZoomLimit ()
 
virtual void SmartFilterCircumcuboid (const char *segment, const char *defaults, HPoint *bottomfrontleft, HPoint *topbackright)
 
virtual void StartSharedKey ()
 
void UnSetSignalNotify (unsigned long cookie)
 
virtual void Update ()
 
void UpdateAxisTriad ()
 
int UpdateEvent (bool antialias=false, bool forceUpdate=false)
 
void UpdateFakeHLRColor (HPoint paper_color)
 
virtual void UpdateHighlighting ()
 
void VisualizeBounding (bool draw_something, HC_KEY key=INVALID_KEY, int incl_count=0, HC_KEY *incl_path=0)
 
virtual void ZoomToExtents ()
 
virtual void ZoomToInitialCamera ()
 
virtual ~HBaseView ()
 

Static Public Member Functions

static void AdjustAxisWindowCallback (int signal, void *signal_data, void *user_data)
 
static void AdjustWindowCallback (int signal, void *signal_data, void *user_data)
 
static void StaticForceUpdateRequest (void *view_pointer)
 
static bool StreamProgressCallback (unsigned long so_far, unsigned long expected, void *user_data)
 
static bool UpdateTick (float request_time, float actual_time, void *user_data)
 

Public Attributes

void(*)(HIC_Rendition const *nr) GetEventCheckerCallback ()
 
bool(*)(unsigned int, int &) GetKeyStateCallback ()
 

Static Public Attributes

static const int MaxLights = 6
 

Protected Member Functions

void AdjustShadowPlane (HPlane &shadow_plane, HPoint const &light_pos)
 
void ComputeShadowParams (HPlane &shadow_plane, HPoint &light_pos)
 
void QueryDeviceCapabilities ()
 
void RefreshViewSize ()
 
void SetShadowParams (const HPlane &shadow_plane, const HPoint &light_pos, const HPoint *color=0, const char *filter=0)
 
virtual void SetShadowParams (HShadow *shadowObj)
 
virtual void SetupLights ()
 
virtual void UpdateInternal (bool antialias=false, bool force_update=false)
 

Protected Attributes

unsigned long m_AnnotationCookie
 
unsigned long m_AxisResizeCookie
 
HC_KEY m_AxisTriadKey
 
int m_AxisWindowSize
 
bool m_bAllowInteractiveCutGeometry
 
bool m_bAllowInteractiveShadows
 
AxisMode m_bAxisMode
 
bool m_bAxisTriadTransparencyAllowed
 
bool m_bBeginShellSelection
 
HC_KEY m_BBoxGeometryKey
 
bool m_bCameraChanged
 
bool m_bCPFaceVisibility
 
bool m_bCPLineVisibility
 
bool m_bCuttingPlaneRegeneration
 
bool m_bCuttingPlanesExist
 
bool m_bCuttingPlanesVisibility
 
bool m_bDetailedFitWorld
 
bool m_bDisplayHandlesOnDblClk
 
bool m_bFastFitWorld
 
bool m_bFirstUpdate
 
bool m_bForceFastHiddenLine
 
bool m_bGeometryChanged
 
bool m_bHideOverlappedText
 
bool m_bInitialCameraSet
 
bool m_bInvertMouseWheelZoom
 
bool m_bLButtonDown
 
bool m_bLightFollowsCamera
 
bool m_bLineAntialiasing
 
bool m_bMouseMove
 
bool m_bNavCube
 
bool m_bRecordCamera
 
bool m_bSceneBoundingSet
 
bool m_bShadowRegeneration
 
bool m_bShadowRegenerationToggle
 
bool m_bSmoothTransition
 
bool m_bSplatRendering
 
bool m_bSpritingAllowed
 
bool m_bTextAntialiasing
 
bool m_bTransparentSelectionBox
 
bool m_bUpdateRequested
 
HC_KEY m_ConstructionKey
 
int m_CPMode
 
HC_KEY m_CuttingPlaneGeomKey
 
HC_KEY m_CuttingPlanesKey
 
float m_DefaultSelectionProximity
 
DisplayListType m_DisplayListType
 
HC_KEY m_FakeHLRSource
 
HC_KEY m_FakeHLRStyle
 
bool m_FocusedOnSelection
 
FramerateMode m_FramerateMode
 
HVector m_FrontAxis
 
int m_HardwareAntialiasing
 
bool m_has_initial_view
 
HSelectionHighlightMode m_HighlightMode
 
float m_IdleTime
 
HC_KEY m_InfoTextKey
 
HCamera m_InitialCamera
 
HC_KEY m_IntersectPolylinesKey
 
int m_InUpdateInternal
 
ViewMode m_IsoDefault
 
HC_KEY m_LightsKey
 
HC_KEY m_lIncludeLinkKey
 
float m_MaximumUpdateTime
 
HC_KEY m_OverwriteKey
 
HUtilityAntialiasingm_pAntialiasing
 
HConstantFrameRatem_pConstantFrameRate
 
class HDebugZBufferm_pDebugZBuffer
 
HEventInfom_pEvent
 
HEventManagerm_pEventManager
 
void(* m_pfEventChecker )(HIC_Rendition const *nr)
 
bool(* m_pfKeyState )(unsigned int, int &)
 
HBaseOperatorm_pHandleOperator
 
HSelectionSetm_pHighlight
 
HImCuttingGeometrym_pHImCuttingGeometry
 
HOpCameraManipulatem_pManipulateOperator
 
HMarkupManagerm_pMarkupManager
 
HBaseModelm_pModel
 
HObjectManagerm_pObjectManager
 
HBaseOperatorm_pOperator
 
HC_KEY m_ProgressBarKey
 
HSelectionSetm_pSelection
 
HSharedKeym_pSharedKey
 
HUndoManagerm_pUndoManager
 
HRenderMode m_RenderMode
 
HPoint m_SceneBoundingMax
 
HPoint m_SceneBoundingMin
 
HC_KEY m_SceneKey
 
HC_KEY m_SceneLight [MaxLights]
 
HShadowMode m_ShadowMode
 
float m_SmoothTransitionDuration
 
int m_SplatSize
 
SplatSymbol m_SplatSymbol
 
HVector m_TopAxis
 
HTouchManagerm_TouchManager
 
int m_UpdateInterrupted
 
HC_KEY m_ViewKey
 
ViewMode m_ViewMode
 
ViewUpdateMode m_ViewUpdateMode
 
int m_WindowColorPercentage
 
HC_KEY m_WindowspaceKey
 

Detailed Description

The HBaseView class defines and manages a view of model information.

The HBaseView class stores view-specific information and provides a high level interface for managing viewing attributes. A view typically references an HBaseModel object to define a view of a model.

This class encapsulates a HOOPS segment associated with an instance of a HOOPS driver. This type of segment defines a connection to a device (i.e. OpenGL, X11, GDI, etc.). Its Init method creates a default segment structure under the driver instance segment, which is used to manage the inclusion of the HOOPS Include Library segment associated with HBaseModel, lights for the scene, and segments containing camera and window attributes used for temporary 'rubberband' graphics.

The HBaseView object has associations with the following objects:

It also implements the following viewing manipulations by setting the appropriate HOOPS camera attributes:

  • Fit the view's camera to the model's extents.
  • Fit the view's camera to the extents of the current selection set.
  • Fit the view's camera to the extents of the entire world.
  • Set the view to default angles (XY, YZ, XZ target planes).

It includes interfaces for managing:

  • Rendering methods (antialiasing, shadows, capping lines/faces, etc...)
  • Hidden Surface Removal Algorithms
  • Lighting Interpolation
  • Camera Projection
  • Constant Framerate Logic

Member Enumeration Documentation

◆ HAnimateMode

Indicates how the scene should be animated; obselete; animation should be performed using MVO's behavior/animation support.

Constructor & Destructor Documentation

◆ HBaseView()

HBaseView::HBaseView ( HBaseModel model,
const char *  alias = 0,
const char *  driver_type = 0,
const char *  instance_name = 0,
void *  window_handle = 0,
void *  colormap = 0,
void *  clip_override = 0,
void *  window_handle_2 = 0,
const char *  driver_path = 0 
)

Constructs an HBaseView object.

Parameters
modelA pointer to the HBaseModel object, which defines the model to viewed by this HBaseView object. If model is null, then the view will not reference any external part of the HOOPS segment tree, and can only view geometry that is created directly underneath the HBaseView object's 'scene' segment
aliasA character pointer denoting the HOOPS alias representing the driver instance segment encapsulated by this HBaseView object
driver_typeA character pointer denoting the type of HOOPS driver instance that should be created to correspond with this HBaseView object. See the Device Guide for a list of available drivers.
instance_nameA character pointer denoting the name of the HOOPS driver instance associated with this HBaseView object. For example, this might be 'window' if driver_type is 'msw', or 'unix:0.0' if driver_type is 'x11' If either driver_type or instance_name are null, HOOPS will use default values obtained from the unique hDB HOOPS MVO object.
window_handleThis identifies the handle of the precreated native window system window (X11 or GDI) which the HOOPS driver instance segment should draw into. HOOPS will not handle any events for this window if it is passed in. If window_handle is null, HOOPS will automatically create a native window, and manage its updating as well as all events.
colormapThis identifies a native window system colormap which HOOPS will utilize when allocating and managing colors. If null, HOOPS will creates its own system colormap as necessary.
clip_overrideThis identifies a pointer to a clip override array.
window_handle_2This identifies a window handle to be used for use window id2.
driverpath If provided this driver path will be used rather than an internally generated one.

◆ ~HBaseView()

virtual HBaseView::~HBaseView ( )
virtual

Deletes the HOOPS segment tree and operator/event/selection/framerate-support objects associated with this view

Member Function Documentation

◆ AdjustAxisWindow()

virtual void HBaseView::AdjustAxisWindow ( int  axis_window_pixels_in = -1,
HIntRectangle rect_in = 0 
)
virtual

This method adjusts the size of the axis triad to keep it as a constant size.

Parameters
axis_window_pixels_inThe width and height of the axis triad, given as a number of pixels. The value is defaulted to negative -1 which leaves the size unchanged but adjusts it to keep it constant in screen space.
rect_inThe screen space rectangle of the drawing context. This parameter is optional.

◆ AdjustAxisWindowCallback()

static void HBaseView::AdjustAxisWindowCallback ( int  signal,
void *  signal_data,
void *  user_data 
)
static

This function is used as a callback to dynamically adjust the axis window.

◆ AdjustShadowPlane()

void HBaseView::AdjustShadowPlane ( HPlane shadow_plane,
HPoint const &  light_pos 
)
protected

This method adjusts the shadow plane so that it is consistent with the current plane orientation. It also positions it so that it remains outside the bounding box of the model.

Parameters
shadow_planeReturns the HPlane (a,b,c,d) value for the plane computed.
light_posReturns the HPoint (x,y,z) value representing light position for shadow.

◆ AdjustWindowCallback()

static void HBaseView::AdjustWindowCallback ( int  signal,
void *  signal_data,
void *  user_data 
)
static

This function is used as a callback to dynamically adjust the HAbsoluteWindow's.

◆ Animate()

virtual void HBaseView::Animate ( int  animation_steps = 30,
HAnimateMode  animate_flags = HAnimateScene,
int  MaxRotation = 360 
)
virtual

This method rotates a camera around the scene based on the degrees of rotation and the number of animation steps passed. This method is used in the PartViewer's "Test Performance" functionality.

Parameters
animation_stepsNumber of times that the scene should be updated
animate_flagsSpecifies what to animate.
MaxRotationDegrees Of Rotation

◆ BeginShellSelection()

void HBaseView::BeginShellSelection ( )

This method activates the shell selection mode. If this mode is active, data structures related to shell selection are cached which can greatly improve performance for subsequent shell selection calls.

◆ CameraPositionChanged()

virtual void HBaseView::CameraPositionChanged ( bool  emit_message = false,
bool  smooth_camera_transition = false 
)
virtual

This method tells the view that the camera position has been modified. Camera-dependent information such as lights which will follow the camera by default are updated here.

Parameters
emit_messageIndicates that a message should be sent to the emit_message_function
smooth_camera_transitionIndicates that the camera should smoothly transition from the last position to the new position.

◆ cleanupSimpList()

void HBaseView::cleanupSimpList ( )

This method frees the SimpList and all members.

◆ ClearGeometryChanged()

virtual void HBaseView::ClearGeometryChanged ( )
inlinevirtual

Call this method to clear that flag that changes have occurred in the geometry. Update() calls this method.

◆ ClearUpdateRequest()

void HBaseView::ClearUpdateRequest ( )
inline

This method sets the update request flag to false indicating that you do not need the view to perform an update.

◆ ComputeReasonableTarget()

virtual bool HBaseView::ComputeReasonableTarget ( HPoint new_tar,
HPoint const &  mouse_win,
HPoint const &  tar_orig 
)
virtual

This function attempts to come up with a reasonable camera target. If something is under the mouse, project the current target into the same plane as the item under the mouse.

◆ ComputeShadowParams()

void HBaseView::ComputeShadowParams ( HPlane shadow_plane,
HPoint light_pos 
)
protected

This method computes the plane and light position for the given shadow. The shadow plane has a normal along the view-up vector and just kisses the objects in the scene at the bottom. The shadow light is placed a distance "r", radius of circum cuboid of scene, from the shadow plane.

Parameters
shadow_planeReturns the HPlane (a,b,c,d) value for the plane computed.
light_posReturns the HPoint (x,y,z) value representing light position for shadow.

◆ DeleteByKeyFromMessage()

virtual void HBaseView::DeleteByKeyFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method has been deprecated. DeleteByKeyFromMessage is the function that will receive any messages which originate in a EmitDeleteByKey message.

Parameters
in_datacontains the key to the object to be selected
data_lengthlength of the in_data array

Referenced by HDeleteByKeyMessageHandler::ProcessMessage().

◆ DeleteSelectionList()

virtual void HBaseView::DeleteSelectionList ( bool  emit_message = false)
virtual

This method deletes the items in the HSelectionSet object associated with this view.

Parameters
emit_messagePass to indicate that a message should be sent to the emit_message_function

Referenced by HSelectMessageHandler::ProcessMessage().

◆ DeleteSelectionListFromMessage()

virtual void HBaseView::DeleteSelectionListFromMessage ( )
virtual

This method has been deprecated. This is the function the HNet server calls on each HNet client when it receives a DeleteSelectionList message from a controlling client.

◆ DeSelectAllFromMessage()

virtual void HBaseView::DeSelectAllFromMessage ( )
virtual

This method has been deprecated. This is the function the HNet server calls on each HNet client when it receives a DeSelectAll message from a controlling client.

Referenced by HSelectMessageHandler::ProcessMessage().

◆ DoDynamicHighlighting()

virtual void HBaseView::DoDynamicHighlighting ( HPoint  mouse_pos)
virtual

Handles the dynamic highlighting logic.

Parameters
mouse_posthe cursor position in window space.

◆ EmitDeleteByKeyMessage()

virtual void HBaseView::EmitDeleteByKeyMessage ( HC_KEY  key)
virtual

This method has been deprecated. EmitDeleteByKeyMessage sends a message with the key to an object to be deleted.

Parameters
keyA HOOPS key denoting segment to be deleted.

◆ EmitDeleteSelectionListMessage()

virtual void HBaseView::EmitDeleteSelectionListMessage ( )
virtual

This method has been deprecated. EmitDeleteSelectionListMessage emits a message to the HNet server telling all HNet clients to delete thei selection list.

◆ EmitDeSelectAllMessage()

virtual void HBaseView::EmitDeSelectAllMessage ( )
virtual

This method has been deprecated. EmitDeSelectAllMessage emits a message to the HNet server to tell all clients involved in the view's HNet session to deselect everything.

◆ EmitFlushMessage()

virtual void HBaseView::EmitFlushMessage ( )
virtual

This method has been deprecated. EmitFlushMessage sends a message to all clients of HNet session to flush geometry from the Scene, CuttingPlane, CuttingPlaneGeometry and Construction segments as well as reset the HSharedKey object and restart the HStreamToolkit.

◆ EmitHSFData()

virtual void HBaseView::EmitHSFData ( const char *  segment,
const char *  in_data,
unsigned int  data_length 
)
virtual

This method has been deprecated. EmitHSFData takes the HSF data and sends it to HNet which will then send it to InsertHSFDataFromMessage of all the clients involved in the HNet session.

Parameters
segmentThe segment within the model which the user wants the HSF data to be inserted into.
in_dataThe binary HSF data.
data_lengthThe length of the in_data array.

◆ EmitSegment()

virtual void HBaseView::EmitSegment ( HC_KEY  key,
bool  emit_contents_only = false 
)
virtual

This method has been deprecated. Emits the hsf data of the segment to the peers in the collabrative session if any.

Parameters
keyA HOOPS key denoting the segment to be emitted.
emit_contents_onlyIf true, only contents of the segments will be emitted. If false, the segment itself will be emitted along with the contents. Default is false.

◆ EmitSelectMessage()

virtual void HBaseView::EmitSelectMessage ( HC_KEY  key,
bool  isSelect 
)
virtual

This method has been deprecated. EmitSelectMessage emits a message to the HNet server telling all other clients to select an object.

Parameters
keykey to the HOOPS/3dGS object to be selected
isSelectboolean value indicating whether or not the object is already selected

◆ EmitSetModellingMatrixMessage() [1/2]

virtual void HBaseView::EmitSetModellingMatrixMessage ( HC_KEY  key)
virtual

This method has been deprecated. EmitSetModellingMatrixMessage sends a message to the HNet server with a modelling matrix which is to be set on a specific segment.

Parameters
keykey to the segment that the modelling matrix should be applied to.

◆ EmitSetModellingMatrixMessage() [2/2]

virtual void HBaseView::EmitSetModellingMatrixMessage ( )
virtual

This method has been deprecated. EmitSetModellingMatrixMessage should be used if you want all the modelling matrices on each element in the selection list to be applied to the same objects in the other HNet clients. This is used in both the HOpObjectTranslate and HOpObjectRotate operators.

◆ EmittingMessages()

bool HBaseView::EmittingMessages ( )
inline

This method has been deprecated. This method indicates whether or not the HBaseView is emitting messages.

Returns
True if the HBaseView is emitting messages, false if otherwise.

◆ EnableTargetFrameRate()

void HBaseView::EnableTargetFrameRate ( bool  enable = true,
int  target = 100,
int  threshold = 10,
int  steps = 5 
)

Enables or disables the target framerate. This function is deprecated. Use SetFramerateMode() instead.

Parameters
enableWhether to enable or disable the target framerate.
targetThe desired target framerate.
thresholdThe minimum size of geometry to be drawn.
stepsThe number of steps to reduce the threshold.

◆ EndShellSelection()

void HBaseView::EndShellSelection ( )

This method ends the shell selection mode.

◆ ExhaustiveUpdate()

void HBaseView::ExhaustiveUpdate ( )

Perform a thorough and full update.

◆ FileInput() [1/2]

virtual HFileInputResult HBaseView::FileInput ( const __wchar_t *  FileName,
HInputHandler handler,
HInputHandlerOptions options = 0 
)
virtual

This method uses a HInputHandler to input image or model data into the HBaseView current HBaseModel. If no HInputHandlerOptions is provided a default, one with the correct HBaseView pointer filled in is created and used for the operation. The key provided by GetModel()->GetModelKey() is used for the input target segment.

Parameters
FileNameA null terminated string of the complete file path for the operation.
handlerA pointer to an instance of a subclassed HInputHandler implementing the input operation need.
optionsAn optional pointer to an instance of a HInputHandlerOptions contain extra data for input operation.
Returns
An #HFileInputResult value depending on the outcome of the input operation.

◆ FileInput() [2/2]

virtual HFileInputResult HBaseView::FileInput ( const char *  FileName,
HInputHandler handler,
HInputHandlerOptions options = 0 
)
inlinevirtual

This method uses a HInputHandler to input image or model data into the HBaseView current HBaseModel. If no HInputHandlerOptions is provided a default, one with the correct HBaseView pointer filled in is created and used for the operation. The key provided by GetModel()->GetModelKey() is used for the input target segment.

Parameters
FileNameA null terminated string of the complete file path for the operation.
handlerA pointer to an instance of a subclassed HInputHandler implementing the input operation need.
optionsAn optional pointer to an instance of a HInputHandlerOptions contain extra data for input operation.
Returns
An #HFileInputResult value depending on the outcome of the input operation.

◆ FileOutput() [1/2]

virtual HFileOutputResult HBaseView::FileOutput ( const __wchar_t *  FileName,
HOutputHandler handler,
HOutputHandlerOptions options = 0 
)
virtual

This method uses a HInputHandler to input image or model data into the HBaseView current HBaseModel. If no HInputHandlerOptions is provided a default, one with the correct HBaseView pointer filled in is created and used for the operation. The key provided by GetModel()->GetModelKey() is used for the input target segment.

Parameters
FileNameA null terminated string of the complete UNICODE file path for the operation.
handlerA pointer to an instance of a subclassed HInputHandler implementing the input operation need.
optionsAn optional pointer to an instance of a HInputHandlerOptions contain extra data for input operation.
Returns
A #HFileInputResult value depending on the outcome of the input operation.

This method uses a HOutputHandler to create image, model, hardcopy and html output. If no HOutputHandlerOptions is provided a default, one with the correct HBaseView pointer filled in is created and used for the operation. In many cases the default options will not be enough to get the desired output. You should read the documentation for the specific HOutputHandler used and provide the options it needs. HOutputHandler implementers should setup up sane defaults for a minimal options setup. In some cases OutputBadOptions will be returned if a required option was not filled in.

Depending on the style of the HOutputHandler a HOOPS driver may be created or a HOOPS image rendered and its key passed to the handle. In the case of model output the HBaseView, HCamera and model key will be provided by default. If output style is image, then a image will be created by the view and passed to the handle. Height and Width are required for image style output. In the case of html, a page embedding an hsf file will be created. An hsf file will also be created using the current handler for "hsf" registered with the HIOManager.

Note that geometry in the view segment but not in the model segment, though it may be drawn to the screen, will not be written to the file.

Parameters
FileNameA null terminated string of the complete file path for the operation.
handlerA pointer to an instance of a subclassed HOutputHandler implementing the output operation need.
optionsAn optional pointer to an instance of a HOutputHandlerOptions contain extra data for output operation.
Returns
A HFileOutputResult value depending on the outcome of the output operation

◆ FileOutput() [2/2]

virtual HFileOutputResult HBaseView::FileOutput ( const char *  FileName,
HOutputHandler handler,
HOutputHandlerOptions options = 0 
)
inlinevirtual

This method uses a HOutputHandler to create image, model, hardcopy and html output. If no HOutputHandlerOptions is provided a default, one with the correct HBaseView pointer filled in is created and used for the operation. In many cases the default options will not be enough to get the desired output. You should read the documentation for the specific HOutputHandler used and provide the options it needs. HOutputHandler implementers should setup up sane defaults for a minimal options setup. In some cases OutputBadOptions will be returned if a required option was not filled in.

Depending on the style of the HOutputHandler a HOOPS driver may be created or a HOOPS image rendered and its key passed to the handle. In the case of model output the HBaseView, HCamera and model key will be provided by default. If output style is image, then a image will be created by the view and passed to the handle. Height and Width are required for image style output. In the case of html, a page embedding an hsf file will be created. An hsf file will also be created using the current handler for "hsf" registered with the HIOManager.

Note that geometry in the view segment but not in the model segment, though it may be drawn to the screen, will not be written to the file.

Parameters
FileNameA null terminated string of the complete file path for the operation.
handlerA pointer to an instance of a subclassed HOutputHandler implementing the output operation need.
optionsAn optional pointer to an instance of a HOutputHandlerOptions contain extra data for output operation.
Returns
A HFileOutputResult value depending on the outcome of the output operation

◆ FitItemByPath()

void HBaseView::FitItemByPath ( HC_KEY  key,
int  incl_count,
HC_KEY *  incl_path 
)

This method fits the camera to view the extents of the key passed in.

◆ FitSegment()

void HBaseView::FitSegment ( HC_KEY  seg_key)

This method fits the camera to the extents of the HOOPS segment tree corresponding with the specified segment.

Parameters
seg_keyThe key of the HOOPS segment denoting the top of the desired segment tree.

◆ FitSelection()

void HBaseView::FitSelection ( HC_KEY  key = INVALID_KEY,
bool  adjustToShellNormal = false 
)

This method fits the camera to view the extents of the geometric objects in the views HSelectionSet list; function is still under development.

◆ FitWorld()

virtual void HBaseView::FitWorld ( HPoint center_out = 0)
virtual

This resets the camera so that it views the extents of the scene. It does not call Update().

Parameters
center_outA pointer to a 3d point. If a non-null pointer is passed, then the new camera target position is returned.

◆ FitWorldExact()

virtual void HBaseView::FitWorldExact ( HPoint center_out = 0)
virtual

This method moves the camera along the exising view vector so that it wholly encloses all geometry, including text, in the scene. The camera is set so that it tightly encloses the geometry and so the geometry in the scene will extend to the bounds of the window in either the x or y direction. It uses #HC_Compute_Screen_Extent to get the tight 2d box around the model. It behaves similarly to FitWorld.

Parameters
center_outPass a pointer to an HPoint if you want this method to return the center of the scene viewed by the camera.

◆ Flush()

virtual void HBaseView::Flush ( bool  emit_message = false)
virtual

This method has been deprecated. This method flushes geometry from the Scene, CuttingPlane, CuttingPlaneGeometry and Construction segments as well as resets the HSharedKey object and restarts the HStreamToolkit.

Parameters
emit_messagePass true if you want a message emitted telling other clients to 'Flush' as well or false if no message should be emitted.

◆ FlushFromMessage()

virtual void HBaseView::FlushFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method has been deprecated. This is the message that a client receives after the controlling client emits a flush message. The parameters in_data and data_length are not referenced in this method. They are present so that this method conforms to the signature of the "FromMessage" methods.

Parameters
in_dataNot referenced in this method.
data_lengthNot referenced in this method.

Referenced by HFlushBaseViewMessageHandler::ProcessMessage().

◆ FlushProgressBar()

void HBaseView::FlushProgressBar ( )

This method clears outs the progress bar window.

◆ ForceUpdate()

virtual void HBaseView::ForceUpdate ( )
virtual

If the view update mode is set to #ViewUpdateMode.Continuous, you can use this method to request an immediate update. If it is set to #ViewUpdateMode.OnDemand, this method will simply call Update. To find the current setting for the view update mode, you can call look at call GetViewUpdateMode.

◆ GeometryChanged()

virtual bool HBaseView::GeometryChanged ( )
inlinevirtual
Returns
True if geometry has changed since the last update.

◆ GetAllowInteractiveCutGeometry()

bool HBaseView::GetAllowInteractiveCutGeometry ( )
inline
Returns
True if cut geometry will be rendered during object manipulation or false if it will not be.

◆ GetAllowInteractiveShadows()

bool HBaseView::GetAllowInteractiveShadows ( )
inline
Returns
True if shadows will be drawn during object manipuation or false if they won't be.

◆ GetAnnotationResize()

bool HBaseView::GetAnnotationResize ( )
inline
Returns
True if annotation resizing is enabled and false if otherwise.

◆ GetAntialiasing()

HUtilityAntialiasing* HBaseView::GetAntialiasing ( )
inline
Returns
A pointer to an HUtilityAntialiasing object.

◆ GetAxisMode()

AxisMode HBaseView::GetAxisMode ( )
inline
Returns
The current axis mode.

◆ GetAxisTriadKey()

HC_KEY HBaseView::GetAxisTriadKey ( )
inline
Returns
The key of the segment containing the axis triad.

◆ GetBackplaneCulling()

bool HBaseView::GetBackplaneCulling ( )
Returns
True if back face culling is currently being done or false if it is not.

◆ GetBBoxGeometryKey()

HC_KEY HBaseView::GetBBoxGeometryKey ( )
inline

This method sets the key of the segment used to store temporary bounding boxes for the scene.

◆ GetCamera() [1/2]

virtual void HBaseView::GetCamera ( HPoint pos,
HPoint tar,
HPoint up,
float &  fieldx,
float &  fieldy,
char *  proj 
)
virtual

This method populates the parameters passed by the the caller with the definition of the camera currently in use.

Parameters
posReturns the HPoint defining the camera position.
tarReturns the HPoint defining the camera target.
upReturns the HPoint defining the camera up vector.
fieldxReturns the float value indicating in object space units the minimum amount of the scene that should be viewable in the horizontal direction about the camera target.
fieldyReturns the float value indicating in object space units the minimum amount of the scene that should be viewable in the vertical direction about the camera target.
*projReturns the projection mode of camera, 'orthographic, 'perspective' and 'stretched' are all valid options.

◆ GetCamera() [2/2]

virtual void HBaseView::GetCamera ( HCamera camera)
virtual

This method populates the HCamera object passed by the the caller with the definition of the camera currently in use.

Parameters
cameraReturns the HCamera object defining the currently used camera,

◆ GetCameraChanged()

virtual bool HBaseView::GetCameraChanged ( )
inlinevirtual
Returns
True if camera changed between updates.

◆ GetColorIndexInterpolation()

bool HBaseView::GetColorIndexInterpolation ( char *  option = 0)

Call this method to find out if color index interpolation is set on the scene.

Parameters
optionReturns either "on" or "isolines" if the color index interpolation is on.
Returns
True if color index interpolation is on or false if it is not on.

◆ GetConstantFrameRateObject()

HConstantFrameRate* HBaseView::GetConstantFrameRateObject ( )
inline
Returns
A pointer to the HConstantFrameRate object for this view.

◆ GetCPFaceVisibility()

bool HBaseView::GetCPFaceVisibility ( )
inline
Returns
A boolean denoting the visibility of cutting-plane intersection faces.

◆ GetCPLineVisibility()

bool HBaseView::GetCPLineVisibility ( )
inline
Returns
A boolean denoting the visibility of cutting-plane intersection lines.

◆ GetCullingThreshold()

int HBaseView::GetCullingThreshold ( )
Returns
The current culling threshold value which is the pixel diameter used to determine if objects will be culled from a scene. If the object is smaller than the pixel diameter, it will be culled.

◆ GetCurrentOperator()

HBaseOperator* HBaseView::GetCurrentOperator ( )
inline

Obsolete function. Please use GetOperator().

Returns
A pointer to the current operator

◆ GetCutGeometryVisibility()

HCutGeometryVisibility HBaseView::GetCutGeometryVisibility ( )
Returns
The value of the Cut Geometry Visibility flag.

◆ GetCuttingPlaneRegenerationMode()

bool HBaseView::GetCuttingPlaneRegenerationMode ( )
inline
Returns
True if cutting planes will be redrawn when there are changes to the geometry or false if they will not be updated.

◆ GetCuttingPlanesExist()

bool HBaseView::GetCuttingPlanesExist ( const char *  plane = 0)

This method determines if the cutting planes exist in the given segment.

Parameters
planeThe name of the segment in which you wish to know if cutting planes exist. If plane is 0, the entire scene will be checked for cutting planes.
Returns
A boolean denoting whether cutting planes exist in the scene.

◆ GetCuttingPlanesVisibility()

bool HBaseView::GetCuttingPlanesVisibility ( )
inline
Returns
A boolean denoting the visibility of the cutting plane.

◆ GetDefaultLightKey()

HC_KEY HBaseView::GetDefaultLightKey ( int  which = 0)
inline
Returns
The key of the default light for the scene.

◆ GetDefaultSelectionProximity()

virtual float HBaseView::GetDefaultSelectionProximity ( )
inlinevirtual
Returns
The distance in centimeters in which HOOPS will look to find an object that is eligible for selection. The nearest object within proximity will be selected.

◆ GetDetailedFitWorld()

bool HBaseView::GetDetailedFitWorld ( )
inline

This method controls whether fit world will acknowledge sub-entity visibilities. This will only work if fast fit world is disabled.

Parameters
fwif true detailed fit world will be used.

◆ GetDetailSelectionMode()

virtual bool HBaseView::GetDetailSelectionMode ( )
virtual
Returns
True if the detail selection heuristic is on or false if it is off.

◆ GetDisplayListType()

DisplayListType HBaseView::GetDisplayListType ( )
Returns
The current display list type.

◆ GetDriverPath()

const char* HBaseView::GetDriverPath ( )
inline
Returns
A string denoting the fully rooted pathname of the driver instance segment.

◆ GetDriverType()

const char* HBaseView::GetDriverType ( )
inline
Returns
A string denoting the driver type; e.g. msw, opengl, x11.

◆ GetDynamicHighlighting()

bool HBaseView::GetDynamicHighlighting ( )
inline
Returns
True to indicate that dynamic highlighting is turned on or false if it is turned off.

◆ GetEmitMessageFunction()

HBaseViewEmitMessageFunction HBaseView::GetEmitMessageFunction ( )
inline

This method has been deprecated.

Returns
An HBaseViewEmitMessageFunction pointer to the emit_message_function.

◆ GetEmitMessageFunctionUserData()

void* HBaseView::GetEmitMessageFunctionUserData ( )
inline

This method has been deprecated.

Returns
A pointer to emit_message_function_user_data.

◆ GetEventManager()

HEventManager* HBaseView::GetEventManager ( )
Returns
The event manager associated with this view.

◆ GetFastFitWorld()

bool HBaseView::GetFastFitWorld ( )
inline

This method controls whether fast fit world will be used. Note: a fast fit world may be looser.

Parameters
fwif true fast fit world will be used.

◆ GetFastMarkerDrawing()

bool HBaseView::GetFastMarkerDrawing ( )

This method controls whether marker drawing will bias toward performance or quality.

Parameters
b_fastif true, fast marker drawing will be used, otherwise nice marker drawing will be used.

◆ GetFirstUpdate()

bool HBaseView::GetFirstUpdate ( )
inline
Returns
true if the first update has occurred, false otherwise.

◆ GetForceFastHiddenLine()

bool HBaseView::GetForceFastHiddenLine ( )
inline
Returns
True if force fast hidden line mode is turned on or false if it is off.

◆ GetFrameBufferEffectsOptions()

bool HBaseView::GetFrameBufferEffectsOptions ( char *  options = 0,
int *  border = 0 
)

Call this method to find out if frame buffer effects are active (e.g. bloom, depth of field, ambient occlusion or fast silhouettes).

Parameters
optionReturns all driver options relevant to frame buffer effects.
borderReturns the search radius of the current active effects (and, hence, the recommended number of extra pixels to be added around the edge of an image in order to avoid artifacts).
Returns
True if active. Always false on drivers other than dx11, or opengl2.

◆ GetFramerate()

float HBaseView::GetFramerate ( )

If a framerate is used, this returns the framerate out parameter. Otherwise this returns -1.

◆ GetFramerateCullingThreshold()

int HBaseView::GetFramerateCullingThreshold ( )

Returns the framerate culling threshold

◆ GetFramerateMode()

FramerateMode HBaseView::GetFramerateMode ( )

Returns the framerate mode

◆ GetFramerateSteps()

int HBaseView::GetFramerateSteps ( )

Returns the number of steps to reduce the culling threshold if applicable. Otherwise this returns -1.

◆ GetHandedness()

HandednessMode HBaseView::GetHandedness ( )
Returns
An enumerated type indicating the current handedness of the world coordinate system.

◆ GetHandleOperator()

virtual HBaseOperator* HBaseView::GetHandleOperator ( )
inlinevirtual
Returns
A pointer to the handle operator for this view.

◆ GetHardExtent()

int HBaseView::GetHardExtent ( )
Returns
The current hard extent cutoff value which is the pixel diameter used to determine if objects will be culled from a scene. If the object is smaller than the pixel diameter, it will be culled.

◆ GetHardwareAntialiasing()

int HBaseView::GetHardwareAntialiasing ( )
inline

Queries whether hardware acceleration will be used for anti-aliasing.

◆ GetHasObjects()

virtual bool HBaseView::GetHasObjects ( )
inlinevirtual
Returns
True if the scene has segments grouped as object and/or has handles in it.

◆ GetHideOverlappedText()

bool HBaseView::GetHideOverlappedText ( )
inline
Returns
The value of the flag indicating whether overlapped text should be hidden. This method determines the visibility of overlapped text.
Parameters
hidePass true to hide overlapped text or false to show it.

◆ GetHighlightMode()

virtual HSelectionHighlightMode HBaseView::GetHighlightMode ( )
inlinevirtual
Returns
The selection highlight mode

◆ GetHighlightSelection()

HSelectionSet* HBaseView::GetHighlightSelection ( )
inline
Returns
Highlight selection set which is used for mouse-over highlighting.

◆ GetHObjectManager()

HObjectManager* HBaseView::GetHObjectManager ( )
Returns
The object manager associated with this view.

◆ GetIncludeLinkKey()

HC_KEY HBaseView::GetIncludeLinkKey ( )
inline

This method sets the key of the link which includes the HBaseModel segment into the scene.

Referenced by HSelectionSetOOC< SelectionSet >::UpdateSelection().

◆ GetInitialCameraSet()

bool HBaseView::GetInitialCameraSet ( )
inline
Returns
True if the initial camera has been set or false if it hasn't been set.

◆ GetInvertMouseWheelZoom()

virtual bool HBaseView::GetInvertMouseWheelZoom ( )
inlinevirtual
Returns
True if we are inverting the default direction of the camera zoom which results from a mouse wheel event.

◆ GetIsoDefault()

ViewMode HBaseView::GetIsoDefault ( )
inline
Returns
The current ISO View setting.

◆ GetKeyState()

bool HBaseView::GetKeyState ( unsigned int  key,
int &  flags 
)

This function indicates whether a key is currently pressed.

Parameters
keythe character in question.
flagsadditional flags.
Returns
true if key is depressed, false otherwise.

◆ GetLightCount()

int HBaseView::GetLightCount ( )
inline

This method returns the number of lights currently set in the scene.

Returns
The number of lights.

◆ GetLineAntialiasing()

bool HBaseView::GetLineAntialiasing ( )
inline
Returns
True if anti-aliasing for lines is turned on for the rendering options.

◆ GetLodMode()

bool HBaseView::GetLodMode ( )
Returns
True if the Level-Of-Detail mode is enabled or false if it is disabled.

◆ GetLodThreshold()

int HBaseView::GetLodThreshold ( )
Returns
The LOD threshold which is the distance in world space from the camera position. The LOD threshold tells HOOPS when to dynamically switch between levels of detail.

◆ GetMarkupManager()

HMarkupManager* HBaseView::GetMarkupManager ( )
Returns
A pointer to the HMarkupManager object.

Referenced by HMarkupMessageHandler::ProcessMessage().

◆ GetMaximumUpdateTime()

float HBaseView::GetMaximumUpdateTime ( )
inline

This method shows the ceiling on the time it takes for an update to be performed.

Returns
The upper limit on the duration of a update in seconds.

◆ GetModel()

virtual HBaseModel* HBaseView::GetModel ( )
inlinevirtual
Returns
A pointer to the HBaseModel object referenced by this view.

◆ GetModelKey()

HC_KEY HBaseView::GetModelKey ( )

A helper function that allows developers to access the root of the model segment tree.

Returns
The key to the root of the segment hierarchy in the include library.

Referenced by HSelectionSetOOC< SelectionSet >::DeleteSelection(), and HSelectionSetOOC< SelectionSet >::SelectedPoints().

◆ GetOperator()

HBaseOperator* HBaseView::GetOperator ( )
inline
Returns
A pointer to the current operator.

◆ GetOverwriteKey()

HC_KEY HBaseView::GetOverwriteKey ( )
inline
Returns
The key of the segment below the scene key into which temporary attributes can be set (and safely flushed) that are intended to affect the entire model.

◆ GetProgressBarKey()

HC_KEY HBaseView::GetProgressBarKey ( )
inline
Returns
The key of the segment that contains the progress bar for loading files.
The key of the progress bar segment.

◆ GetProjMode()

ProjMode HBaseView::GetProjMode ( )

This method gets the projection mode used to convert a 3-D scene into 2-D for viewing.

Returns
The projection mode which determines how a 3-D will be converted in 2-D for viewing.

◆ GetQuickMovesMethod()

HQuickMovesMethod HBaseView::GetQuickMovesMethod ( ) const
Returns
The method for quick moves last used by HOOPS. Applications can use this information to make decisions regarding the UI. For example, XOR may look best if drawn wireframe only.
A pointer to the debug zbuffer object (associated with any active zbuffer visualization winow), or null if there is none.

◆ GetRecordMode()

bool HBaseView::GetRecordMode ( )
inline
Returns
True if the camera is currently recording or false if it isn't recording.

◆ GetRelatedSelectionLimit()

virtual int HBaseView::GetRelatedSelectionLimit ( )
virtual
Returns
The current related selection limit on the view.

◆ GetRenderMode()

HRenderMode HBaseView::GetRenderMode ( )
inline
Returns
An enumerated type denoting the render mode for this view. The default is HRenderGouraud.

◆ GetRespectSelectionCulling()

virtual bool HBaseView::GetRespectSelectionCulling ( )
virtual
Returns
True if the selection culling mode is set to "maximum extents" or false otherwise.

◆ GetSceneBoundingSet()

bool HBaseView::GetSceneBoundingSet ( )
inline

This function tells you whether or not a scene bounding is set.

Returns
true if a scene bounding is set, false otherwise.

◆ GetSceneExtents()

void HBaseView::GetSceneExtents ( HPoint min,
HPoint max 
)

This function retrieves the scene extents.

Parameters
minthe minimum values for the scene extents. Passed by reference. Returned to user.
maxthe maximum values for the scene extents. Passed by reference. Returned to user.

◆ GetSelection()

HSelectionSet* HBaseView::GetSelection ( )
inline
Returns
A pointer to the HSelectionSet object for this view.

◆ GetShadowIgnoresTransparency()

virtual bool HBaseView::GetShadowIgnoresTransparency ( )
virtual

Shows whether or not transparency is considered when casting simple shadow.

◆ GetShadowLightDirection()

virtual bool HBaseView::GetShadowLightDirection ( HPoint direction = 0)
virtual

This method allows you to set a custom light direction for simple shadows.

Parameters
directionA pointer to a HPoint object that determines the direction of the light, will be null if unset. Returned to user.
Returns
true if an explicit light direction is set, false otherwise.

◆ GetShadowMapSegmentKey()

HC_KEY HBaseView::GetShadowMapSegmentKey ( )
Returns
The key of the segment at which shadow maps are set. Currently defined as the owner of the model include link.
The key of the segment containing the lights for the scene.

◆ GetShadowMode()

HShadowMode HBaseView::GetShadowMode ( )
inline
Returns
The current shadow mode.

◆ GetShadowRegenerationMode()

bool HBaseView::GetShadowRegenerationMode ( )
inline
Returns
True if the shadows will be generated in the scene or false if they will not be redrawn after an update to the geometry.

◆ GetShadowRenderingMode()

HShadowRenderingMode HBaseView::GetShadowRenderingMode ( )
Returns
The current shadow rendering mode.

◆ GetSharedKey()

HSharedKey* HBaseView::GetSharedKey ( )
inline
Returns
A pointer to m_pSharedKey which is used to map the keys of HOOPS/3dGS objects contained in different HBaseView objects.

◆ GetSmoothTransition()

bool HBaseView::GetSmoothTransition ( )
inline
Returns
True if the camera will smoothly from one position to the next. This method determines whether the camera should smoothly transition from the previous position to the new one.
Parameters
onoffPass true to turn on smooth transition. Pass false to turn it off.

◆ GetSmoothTransitionDuration()

float HBaseView::GetSmoothTransitionDuration ( )
inline
Returns
The length of the smooth transition in seconds.

◆ GetSplatRendering()

bool HBaseView::GetSplatRendering ( )
inline

Queries the state of splat rendering of markers.

◆ GetSplatSize()

int HBaseView::GetSplatSize ( )
inline
Returns
The size of marker splats in wsu.

◆ GetSplatSymbol()

SplatSymbol HBaseView::GetSplatSymbol ( )
inline
Returns
The symbol used for marker splats.

◆ GetSpritingMode()

bool HBaseView::GetSpritingMode ( )
inline
Returns
True if spriting is enabled and false if otherwise.

◆ GetSuppressUpdate()

bool HBaseView::GetSuppressUpdate ( )
inline
Returns
The value of the suppress update flag. If the value is true, then no updates will be made.

◆ GetSuppressUpdateTick()

bool HBaseView::GetSuppressUpdateTick ( )
inline
Returns
The value of the suppress update flag. If the value is true, then no updates will be made.

◆ GetTextAntialiasing()

bool HBaseView::GetTextAntialiasing ( )
inline
Returns
True if anti-aliasing for text is enabled and false if otherwise.

◆ GetTouchManager()

HTouchManager* HBaseView::GetTouchManager ( )
inline
Returns
A pointer to the HTouchManager object which handles multi-touch events.

◆ GetTransparentSelectionBoxMode()

bool HBaseView::GetTransparentSelectionBoxMode ( )
inline
Returns
True if the selection area for the HOpSelectArea operator should be drawn transparent.

◆ GetUndoManager()

HUndoManager* HBaseView::GetUndoManager ( )
Returns
The undo manager associated with this view.

◆ GetUpdateNotFinished()

bool HBaseView::GetUpdateNotFinished ( )
inline

Used to indicate whether an update is currently in progress.

◆ GetUpdateRequested()

bool HBaseView::GetUpdateRequested ( )
inline
Returns
True if an update was requested and false if no update was requested.

◆ GetViewActive()

bool HBaseView::GetViewActive ( )
Returns
true if this is the active view, false otherwise.

◆ GetViewAxis()

void HBaseView::GetViewAxis ( HVector front_axis,
HVector top_axis 
)
inline

This method returns the view axis vectors.

Parameters
front_axisReturns the front - back axis.
top_axisReturns the top - bottom axis.

◆ GetViewKey()

HC_KEY HBaseView::GetViewKey ( )
inline

This method sets the key of the HOOPS driver instance segment.

Referenced by HOpSelectAreaOOC< SelectionSet >::OnLButtonUp(), and HSelectionSetOOC< SelectionSet >::UpdateSelection().

◆ GetViewMode()

ViewMode HBaseView::GetViewMode ( )
inline
Returns
An enumerated type denoting the 2d plane which this view's camera is looking at. The default is HViewXY.

◆ GetViewSelectionLevel()

HViewSelectionLevel HBaseView::GetViewSelectionLevel ( )
Returns
The selection level currently set on the driver.

◆ GetViewUpdateMode()

ViewUpdateMode HBaseView::GetViewUpdateMode ( )
inline
Returns
The current view update mode.

◆ GetVisibilitySelectionMode()

virtual bool HBaseView::GetVisibilitySelectionMode ( )
virtual
Returns
True if the visibility selection is enabled.

◆ GetWindowColor() [1/3]

void HBaseView::GetWindowColor ( HPoint color_out)

Use this method to get the RGB value of the current window's background in HPoint passed.

Parameters
color_outReturns the window's background color in the form of an HPoint where x is the red value, y is green value and z is the blue value.

◆ GetWindowColor() [2/3]

void HBaseView::GetWindowColor ( HPoint color_top,
HPoint color_bottom 
)

Use this method to get the top and bottom RGB values of the current window's background.

Parameters
color_topReturns the window's background top color in the form of an HPoint where x is the red value, y is green value and z is the blue value.
color_bottomReturns the window's background bottom color in the form of an HPoint where x is the red value, y is green value and z is the blue value.

◆ GetWindowColor() [3/3]

void HBaseView::GetWindowColor ( HPoint color_top,
HPoint color_bottom,
int &  percentage 
)

Use this method to get top and bottom RGB values of the current window's background as well as the percentage the gradient extends in the vertical direction.

Parameters
color_topReturns the window's background top color in the form of an HPoint where x is the red value, y is green value and z is the blue value.
color_bottomReturns the window's background bottom color in the form of an HPoint where x is the red value, y is green value and z is the blue value.
percentageReturns the percentage the gradient extends in the vertical direction.

◆ GetWindowHandle()

void* HBaseView::GetWindowHandle ( )
inline
Returns
A pointer to the window handle for this view.

◆ GetWindowMaterial()

void HBaseView::GetWindowMaterial ( char *  out_material,
char *  out_pattern 
)

Use this method to get the raw color and pattern string for the current window.

Parameters
out_materialReturns the raw color string for the window background
out_patternReturns the raw pattern string for the window pattern

◆ GetXSize()

int HBaseView::GetXSize ( )
inline
Returns
The window width in pixels. If zero is returned, an update needs to be done.

◆ GetYSize()

int HBaseView::GetYSize ( )
inline
Returns
The window height in pixels. If zero is returned, an update needs to be done.

◆ HasInitialView() [1/2]

bool HBaseView::HasInitialView ( )
inline
Returns
true if there is an initial view on the scene.

◆ HasInitialView() [2/2]

void HBaseView::HasInitialView ( bool  does_it)
inline

Is there an initial view on the scene? Used primarily for hsf streaming.

◆ HaveMarkupManager()

bool HBaseView::HaveMarkupManager ( )
inline
Returns
A true if we a HMarkupManager object.

◆ Init()

virtual void HBaseView::Init ( )
virtual

This method initializes the view. The startup default segment hierarchy associated with the HBaseView object is created and initialized.

◆ InitAntialiasing()

void HBaseView::InitAntialiasing ( )

This method initializes the antialiasing logic.

◆ InjectEvent()

void HBaseView::InjectEvent ( HEventInfo const &  hevent)

This allows the injection of a synthetic event.

Parameters
heventThe event to inject

◆ InsertHSFData()

virtual void HBaseView::InsertHSFData ( const char *  segment,
const char *  in_data,
unsigned int  data_length,
bool  emit_message = false 
)
virtual

This method has been deprecated. InsertHSFData inserts HSF data into a named segment in the model tree.

Parameters
segmentThe segment in the base of the model tree that the HSF data should be inserted.
in_dataThe binary HSF data.
data_lengthThe length of the binary HSF data.
emit_messagePass true to indicate that this data should be shared with other members of a HNet session.

◆ InsertHSFDataFromMessage()

virtual void HBaseView::InsertHSFDataFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method has been deprecated. InsertHSFDataFromMessage is a function to insert HSF data in a scene.

Parameters
in_dataThe binary HSF Data.
data_lengthThe length of the in_data array.

Referenced by HInsertHSFDataMessageHandler::ProcessMessage().

◆ InternalUpdate()

virtual void HBaseView::InternalUpdate ( )
virtual

This method checks the flags related to updating the scene and then calls #HC_Update_Display.

◆ InvalidateSceneBounding()

void HBaseView::InvalidateSceneBounding ( )
inline

This function invalidates (unsets) any current scene bounding.

◆ IsFrameRateEnabled()

bool HBaseView::IsFrameRateEnabled ( )

return The current state of the constant framerate setting

◆ IsFramerateLodEnabled()

bool HBaseView::IsFramerateLodEnabled ( )

Returns true if and only if LODs are allowed in the framerate mode

◆ IsLightFollowCamera()

bool HBaseView::IsLightFollowCamera ( )
inline
Returns
True if the light follows the camera or false if it doesn't.

◆ Notify()

void HBaseView::Notify ( int  signal,
void *  signal_data = 0 
)

Notifies the appropriate subscribers about the event.

Parameters
signalevent which is to be notified
signal_datadata associated with this event to be passed to the subscribers.

◆ ObjectMovedEvent()

int HBaseView::ObjectMovedEvent ( HBaseView view,
HC_KEY  key,
HPoint pos 
)

The event handler that gets triggered when an object is moved usually as a result of an animation.

Parameters
viewA pointer to HBaseView object.
keyThe key of the moved object.
posThe position of moved object which is not always available.
Returns
Whether the event passed or consumed.

◆ OnKeyDown()

virtual int HBaseView::OnKeyDown ( HEventInfo hevent)
virtual

This function is called when a key is pressed.

◆ OnKeyUp()

virtual int HBaseView::OnKeyUp ( HEventInfo hevent)
virtual

This function is called when a key is released.

◆ OnLButtonDblClk()

virtual int HBaseView::OnLButtonDblClk ( HEventInfo hevent)
virtual

This method handles the left button double click event for object selection and setting up handles for object manipulation.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnLButtonDown()

virtual int HBaseView::OnLButtonDown ( HEventInfo hevent)
virtual

This method handles the left button down event for axis based camera manipulation.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnLButtonDownAndMove()

virtual int HBaseView::OnLButtonDownAndMove ( HEventInfo hevent)
virtual

This method handles the left button down and move event for dynamic highlighting of geometry.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnLButtonUp()

virtual int HBaseView::OnLButtonUp ( HEventInfo hevent)
virtual

This method handles left button up events finalizing any object selection activity and camera manipulation.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnLRButtonDownAndMove()

virtual int HBaseView::OnLRButtonDownAndMove ( HEventInfo hevent)
virtual

Currently not handled.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnMButtonDownAndMove()

virtual int HBaseView::OnMButtonDownAndMove ( HEventInfo hevent)
virtual

Currently not handled.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnMouseMove()

virtual int HBaseView::OnMouseMove ( HEventInfo hevent)
virtual

This method handles mouse move events.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnMouseWheel()

virtual int HBaseView::OnMouseWheel ( HEventInfo hevent)
virtual

This method handles mouse wheel events for camera manipulation.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnNoButtonDownAndMove()

virtual int HBaseView::OnNoButtonDownAndMove ( HEventInfo hevent)
virtual

This handles no button down and move event for dynamic highlighting of geometry. If dynamic highlight is on, then as the mouse cursor passes over a given segment, HOOOPS will highlight that segment.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnRButtonDownAndMove()

virtual int HBaseView::OnRButtonDownAndMove ( HEventInfo hevent)
virtual

Currently not handled.

Parameters
heventAn HEventInfo object containing information about the current event.
Returns
An HOperatorReturn indicating the status of the event.

◆ OnSetAxisMode()

virtual void HBaseView::OnSetAxisMode ( AxisMode  mode)
virtual

This method does the actual work of settig the axis mode. Users should use SetAxisMode().

Parameters
modeThe mode in which you wish the axis triad to appear.

◆ PrepareForCameraChange()

virtual void HBaseView::PrepareForCameraChange ( )
virtual

This method is called before a camera change.

◆ QueryDeviceCapabilities()

void HBaseView::QueryDeviceCapabilities ( )
protected

This is a helper function that is called during the first call to Update(). It will check the rendering capabilities of the device, and modify the rendering settings as necessary. For example, if the user had set HRenderShaded, but HW phong isn't available, then the mode will be reset to HRenderGouraud.

◆ RebindView()

void HBaseView::RebindView ( const char *  alias = 0,
const char *  driver_type = 0,
const char *  instance_name = 0,
void *  window_handle = 0,
void *  colormap = 0,
void *  clip_override = 0,
void *  window_handle_2 = 0,
int  debug_flags = 0 
)

This method rebinds the view to a new window.

Parameters
aliasA character pointer denoting the HOOPS alias representing the driver instance segment encapsulated by this HBaseView object
driver_typeA character pointer denoting the type of HOOPS driver instance that should be created to correspond with this HBaseView object
instance_nameA character pointer denoting the name of the HOOPS driver instance associated with this HBaseView object. For example, this might be 'window' if driver_type is 'msw', or 'unix:0.0' if driver_type is 'x11' If either driver_type or instance_name are null, HOOPS will use default values obtained from the unique hDB HOOPS MVO object.
window_handleThis identifies the handle of the precreated native window system window (X11 or GDI) which the HOOPS driver instance segment should draw into. HOOPS will not handle any events for this window if it is passed in. If window_handle is null, HOOPS will automatically create a native window, and manage its updating as well as all events.
colormapThis identifies a native window system colormap which HOOPS will utilize when allocating and managing colors. If null, HOOPS will creates its own system colormap as necessary.
clip_overrideThis identifies a pointer to a clip override array.
window_handle_2This identifies a window handle to be used for use window id2.
debug_flagsThe optional debug flags passed to #HC_Set_Driver_Options().

◆ RefreshViewSize()

void HBaseView::RefreshViewSize ( )
protected

Special helper function to check the size of the view. This function is intended primarily for internal use.

◆ RemoveTransforms()

void HBaseView::RemoveTransforms ( )

This method removes the modelling transformations from the scene segment.

◆ RenderAntialiasing()

void HBaseView::RenderAntialiasing ( )

This method redraws the scene with antialiasing enabled.

◆ RenderBRepHiddenLine()

void HBaseView::RenderBRepHiddenLine ( )

This method sets the render mode to hidden line for BRep geometry.

◆ RenderBRepHiddenLineFast()

void HBaseView::RenderBRepHiddenLineFast ( )

This method sets the render mode to fast hidden line for BRep geometry.

◆ RenderBRepWireframe()

void HBaseView::RenderBRepWireframe ( )

This method sets the render mode to brep wireframe.

◆ RenderFakeHiddenLine()

void HBaseView::RenderFakeHiddenLine ( )

This method sets the render mode to fake hidden line. Fake hidden line mode sets the top window color and the face color to be the same as the bottom window color. If shaders are available, fake hidden line will use fast silhouette edges to achieve excellent performance.

◆ RenderFlat()

void HBaseView::RenderFlat ( )

This method sets the render mode to flat shading.

◆ RenderGooch()

void HBaseView::RenderGooch ( )

This method sets the render mode to Gooch shading.

◆ RenderGouraud()

void HBaseView::RenderGouraud ( )

This method sets the render mode to gouraud shading.

◆ RenderGouraudWithLines()

void HBaseView::RenderGouraudWithLines ( )

Sets render mode to Gouraud with lines on

◆ RenderHiddenLine()

void HBaseView::RenderHiddenLine ( )

This method sets the render mode to hidden line.

◆ RenderHiddenLineFast()

void HBaseView::RenderHiddenLineFast ( )

This method sets the render mode to fast hidden line.

◆ RenderLOD1()

void HBaseView::RenderLOD1 ( )

Clamps rendering to LOD1.

◆ RenderLOD2()

void HBaseView::RenderLOD2 ( )

Clamps rendering to LOD2.

◆ RenderPhong()

void HBaseView::RenderPhong ( )

This method sets the render mode to phong shading.

◆ RenderShaded()

void HBaseView::RenderShaded ( )

A higher level function to enable smooth shading. If phong lighting is hardware accelerated, then phong shading will be enabled. Otherwise gouraud shading will be enabled.

◆ RenderShadedVertices()

void HBaseView::RenderShadedVertices ( )

This method sets the render mode to shaded vertices.

◆ RenderShadedWireframe()

void HBaseView::RenderShadedWireframe ( )

This method sets the render mode to shaded wireframe.

◆ RenderShadedWithLines()

void HBaseView::RenderShadedWithLines ( )

Sets render mode with smooth shading and lines on

◆ RenderSilhouette()

void HBaseView::RenderSilhouette ( )

This method sets the render mode to silhouette which renders edges with two attached non-invisible faces, one of which is facing forward and one back on the screen to be.

◆ RenderVertices()

void HBaseView::RenderVertices ( )

This method sets the render mode to vertices.

◆ RenderWireframe()

void HBaseView::RenderWireframe ( )

This method sets the render mode to wireframe so that only lines and edges appear in the scene.

◆ RenderWireframeWithSilhouette()

void HBaseView::RenderWireframeWithSilhouette ( )

This method sets the render mode to wireframe with silhouette.

◆ RequestUpdate()

void HBaseView::RequestUpdate ( )
inline

Call this method to indicate to the view that you would like it to performat an update.

◆ ResetIdleTime()

void HBaseView::ResetIdleTime ( )

This method reports that an event has occurred, so the idle time should be returned to zero.

◆ ResetKeyState()

void HBaseView::ResetKeyState ( )

This function resets the current key state.

◆ RotateOnUpdate()

void HBaseView::RotateOnUpdate ( const char *  sname)

This method adjusts the axis display with regard to the camera setting of the view window. The display indicates the absolute position of the camera related to the three major view axes (x,y,z). The arrows always point in the direction of increasing value.

Parameters
snameThe segment name on the view that contains the camera settings for the axis display.

◆ SelectFromMessage()

virtual void HBaseView::SelectFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method has been deprecated. SelectFromMessage is the function the HNet server calls to tell the slave clients to select an object.

Parameters
*in_datadata containing the selection information
data_lengthlength of the in_data array

Referenced by HSelectMessageHandler::ProcessMessage().

◆ SetAllowInteractiveCutGeometry()

void HBaseView::SetAllowInteractiveCutGeometry ( bool  onoff)
inline

Use this method to enable or disable the rendering of cut geometry during object manipulation. If you pass false, cut geometry will not be drawn when an object is translated, rotated, etc...

Parameters
onOffPass true to allow the rendering of cut geometry during object manipulation or false to not draw it.

◆ SetAllowInteractiveShadows()

void HBaseView::SetAllowInteractiveShadows ( bool  onoff)
inline

Use this method to enable or disable shadows during the object manipulation. If you pass true, then shadows will not be drawn while an object is translated, rotated, etc...

Parameters
onOffPass true to allow shadows to be drawn while objects are manipulated or false for no shadows to be rendered.

◆ SetAnnotationResize()

void HBaseView::SetAnnotationResize ( bool  value)

This method enables or disables annotation resizing. It must be on for annotations to work.

Parameters
valueannotation resizing on/off

◆ SetAxisManipulateOperator()

virtual void HBaseView::SetAxisManipulateOperator ( HOpCameraManipulate op)
virtual

The method sets operator for axis based camera manipulation.

Parameters
opA pointer the operator to replace existing operator with.

◆ SetAxisMode()

virtual void HBaseView::SetAxisMode ( AxisMode  mode)
virtual

This method creates an axis triad which is a separate HOOPS window in the current view at bottom left that contains an axis display for directional reference.

Parameters
modeThe mode in which you wish the axis triad to appear.

◆ SetBackplaneCulling()

void HBaseView::SetBackplaneCulling ( bool  cull)

This method enables or disables back face culling which is a 3-D update optimization that tells the system it's OK to remove any polygons, circles, or ellipses, or shell or mesh faces that land "facing away" from the camera during drawing. The initial value is true. This option has no effect unless polygon handedness is set using the method SetPolygonHandednessMode().

Parameters
cullIf the value is true, backplane will be enabled. If the value is false, it will be disabled.

◆ SetBBoxGeometryKey()

void HBaseView::SetBBoxGeometryKey ( HC_KEY  bbox_key)
inline
Returns
The key of the segment used to store the view's cutting planes.

◆ SetCamera() [1/2]

virtual void HBaseView::SetCamera ( HPoint  pos,
HPoint  tar,
HPoint  up,
float  fieldx,
float  fieldy,
const char *  proj 
)
virtual

This method sets the camera for the scene.

Parameters
posA HPoint defining the camera position.
tarA HPoint defining the camera target.
upA HPoint defining the camera up vector.
fieldxThe minimum amount of the scene that should be viewable in the horizontal direction about the camera target in object space units.
fieldyThe minimum amount of the scene that should be viewable in the vertical direction about the camera target in object space units.
*projprojection mode of camera, 'orthographic, 'perspective' and 'stretched' are all valid options.

◆ SetCamera() [2/2]

virtual void HBaseView::SetCamera ( HCamera  camera)
virtual

This method sets the camera on the scene.

Parameters
cameraHCamera object defining the camera.

◆ SetCameraChanged()

virtual void HBaseView::SetCameraChanged ( bool  val = true)
inlinevirtual

Use this method to indicate if the camera has changed.

Parameters
valPass true to indicate the camera has changed or false if the camera has not changed.

◆ SetCameraFromMessage()

virtual void HBaseView::SetCameraFromMessage ( const char *  data,
unsigned int  data_length 
)
virtual

This method has been deprecated. This is the method that HNet calls to set the camera on the scene.

Parameters
*dataA character string containing the camera definition.
data_lengthThe length of data string.

Referenced by HSetCameraMessageHandler::ProcessMessage().

◆ SetColorIndexInterpolation()

void HBaseView::SetColorIndexInterpolation ( bool  onoff,
bool  isolines = false 
)

This method sets the color index interpolation rendering option on the current scene.

Parameters
onoffPass true to turn on color index interpolation or false to turn it off.
isolinesPass true to render color interpolation data in the form of polylines instead of color band or false to not render polylines. Note this parameter only applies if you pass true for the onoff parameter.

◆ SetColorInterpolation()

void HBaseView::SetColorInterpolation ( bool  onoff)

This method sets the color interpolation rendering option on the current scene.

Parameters
onoffPass true to turn on color interpolation or false to turn it off.

◆ SetConstantFrameRateObject()

void HBaseView::SetConstantFrameRateObject ( HConstantFrameRate cf)
inline

This method sets the HConstantFrameRate object for this view.

Parameters
cfA pointer to the HConstantFrameRate object.

◆ SetConstructionKey()

void HBaseView::SetConstructionKey ( HC_KEY  construct_key)
inline

This method sets the key of the segment used to store temporary construction geometry.

Parameters
construct_keyThe key to build construction geometry under.
Returns
The key of the segment used to store temporary bounding boxes for the scene.

◆ SetCPGeomVisibility()

void HBaseView::SetCPGeomVisibility ( bool  lines,
bool  faces = false 
)

This method enables the visibility of cutting-plane intersection geometry. If cutting planes are present, the lines and faces of intersection between the cutting planes and geometry can be computed and drawn. Faces of intersection will only be present when closed objects are cut by the cutting planes. Both intersection lines and faces will be drawn by default.

Parameters
linesPass true if the intersection lines should be drawn or false if they shouldn't be drawn.
facesPass true if the intersection faces should be drawn or false if they shouldn't be drawn.

◆ SetCullingThreshold()

void HBaseView::SetCullingThreshold ( int  cullingthreshold)

This method sets the culling threshold. When objects are smaller than the pixel diameter given by the threshold, they will be culled from the scene as described in the maximum extent culling option in #HC_Set_Heuristics.

Parameters
cullingthresholdThe culling threshold value given in pixels.

◆ SetCurrentOperator()

void HBaseView::SetCurrentOperator ( HBaseOperator NewOperator)
inline

Deprecated. Please use SetOperator().

◆ SetCutGeometryVisibility()

void HBaseView::SetCutGeometryVisibility ( HCutGeometryVisibility  visibility)

Use this method to set the cut geometry visibility.

Parameters
visibilityThe cut geometry visibility you want to set for the scene.

◆ SetCuttingPlaneGeomKey()

void HBaseView::SetCuttingPlaneGeomKey ( HC_KEY  cuttingplanegeom_key)
inline

This method sets the key of the segment used to store geometry representing cutting plane intersections.

Parameters
cuttingplanegeom_keyPass the segment that you want HOOPS to store cutting plane geometry under.
Returns
The key of the segment used to store geometry representing polylines of intersection.

◆ SetCuttingPlaneRegenerationMode()

virtual void HBaseView::SetCuttingPlaneRegenerationMode ( bool  onoff)
inlinevirtual

Use this method to enable or disable updates to the cutting planes in the scene. If the mode is on, cutting planes will be redrawn if there are any changes to the geometry.

Parameters
onoffPass true to turn on cutting plane regeneration or false to turn it off.

◆ SetCuttingPlanesExist()

void HBaseView::SetCuttingPlanesExist ( bool  state)

Use this method to tell the system whether cutting planes exist.

Parameters
statePass true if cutting planes exist or false if they don't.

◆ SetCuttingPlanesKey()

void HBaseView::SetCuttingPlanesKey ( HC_KEY  cuttingplanes_key)
inline

This method sets the the key of the segment used to store the view's cutting planes.

Parameters
cuttingplanes_keyPass the key in which you want to the view's cutting planes.
Returns
The key of the segment used to store geometry representing cutting plane intersections.

◆ SetCuttingPlanesVisibility()

void HBaseView::SetCuttingPlanesVisibility ( bool  visible)

This method enables visibility of cutting-plane faces.

Parameters
visiblePass true to indicate that cutting planes are visible.

◆ SetDebugZBuffer()

void HBaseView::SetDebugZBuffer ( HDebugZBuffer dzb)
inline

This method sets the pointer to the debug zbuffer object. The HBaseView will automatically be deleted on destruction, but not on reassignment.

◆ SetDefaultHSRA()

void HBaseView::SetDefaultHSRA ( )

This method sets the hidden surface removal algorithm rendering option to the value that is preferred by the current driver type.

◆ SetDefaultSelectionProximity()

virtual void HBaseView::SetDefaultSelectionProximity ( float  selectionproximity)
virtual

Use this method to control how far away your cursor can be from an object on the screen and still have it select the object. Within that radius, the nearest object is selected.

Parameters
selectionproximitythe range in centimeters for selection proximity

◆ SetDepthOfField()

void HBaseView::SetDepthOfField ( bool  onoff,
float  strength = 1.0f 
)

This method enables of disables Depth Of Field

Parameters
onoffwhether or not to use depth of field
strengthmultiplier of the default strength

◆ SetDepthOfFieldRange()

void HBaseView::SetDepthOfFieldRange ( float  near = 0.0f,
float  far = 0.0f 
)

This method sets the focal range for the Depth Of Field option

Parameters
nearthe near plane distance from the camera
farthe far plane distance from the camera

◆ SetDetailedFitWorld()

void HBaseView::SetDetailedFitWorld ( bool  fw)
inline

This method controls whether fit world will acknowledge sub-entity visibilities. This will only work if fast fit world is disabled.

Parameters
fwif true detailed fit world will be used.

◆ SetDetailSelection()

virtual void HBaseView::SetDetailSelection ( bool  onoff)
virtual

Use this method to sets the detail selection mode. If it is on, selection events honor the exact shape of the glyphs of a curve, edge or polyline. This means that both the pattern and the weight of a line/edge will affect its selectability.

Parameters
onoffPass true if edge and line weight/pattern should be taken into account or false if they shouldn't be.

◆ SetDisplayHandlesOnDblClk()

void HBaseView::SetDisplayHandlesOnDblClk ( bool  dh)
inline

This function controls whether manipulator handles will be created when geometry is double clicked.

◆ SetDisplayListMode()

void HBaseView::SetDisplayListMode ( bool  mode)

This method enables display lists of the currently active display list type (see m_DisplayListType).

Parameters
modePass true to activate the display list type or false to turn it off.
Returns
The polygon handedness which must be set to do backplane culling.

◆ SetDisplayListType()

void HBaseView::SetDisplayListType ( DisplayListType  type)

This method sets the display list type. Note that this only applies when the OpenGL_Deprecated, OpenGL2, or DX11 driver is being used.

Parameters
typePass the type of display list you would like to use.
Returns
True if the currently active display list type is on and false if it is off. This only applies when HOOPS/3dGS Open GL driver is being used.

◆ SetDoubleBuffering()

void HBaseView::SetDoubleBuffering ( bool  double_buffer)

This method controls whether the HOOPS view will be single- or double-buffered. It must be called before the first update to have any effect.

Parameters
double_bufferIf true, the view will be double-buffered, otherwise it will be single-buffered.

◆ SetDynamicHighlighting()

void HBaseView::SetDynamicHighlighting ( bool  state)

This enables/disables dynamic highlighting for the geometry in the scene. If dynamic highlighting is set to true, HOOPS will highlight different segments in the scene as the user moves the mouse cursor over the segment.

Parameters
statePass true to turn on dynamic highlighting or false to turn it off.

◆ SetEmitMessageFunction()

void HBaseView::SetEmitMessageFunction ( HBaseViewEmitMessageFunction  new_emit_message_function,
void *  user_data = 0 
)
inline

This method has been deprecated. SetEmitMessageFunction is what you use to register the function which will send messages to the HNet server during any HNet sessions.

Parameters
new_emit_message_functionA pointer to the emit message function.
user_dataUsers set this when registering the emit_function. When the emit_message_function is subsequently called users can query this value to determine the origins of the callback function.

◆ SetEventCheckerCallback()

void HBaseView::SetEventCheckerCallback ( void(*)(HIC_Rendition const *nr)  EventChecker)

This method sets the event checker callback.

◆ SetFastFitWorld()

void HBaseView::SetFastFitWorld ( bool  fw)
inline

This method controls whether fast fit world will be used. Note: a fast fit world may be looser.

Parameters
fwif true fast fit world will be used.

◆ SetFastMarkerDrawing()

void HBaseView::SetFastMarkerDrawing ( bool  b_fast)

This method indicates whether marker drawing will bias toward performance or quality.

Returns
true if fast marker drawing will be used, false otherwise.

◆ SetFontSize()

virtual void HBaseView::SetFontSize ( const char *  font_size,
bool  emit_message = false 
)
virtual

This method sets the font size on the scene key.

Parameters
font_sizeA character pointer containing the font size information (e.g. "10 oru" or "0.1 sru").
emit_messagePass true to indicates that a message should be sent to the emit_message_function

◆ SetFontSizeFromMessage()

virtual void HBaseView::SetFontSizeFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method sets the font size on the scene key based on the information in the message.

Parameters
in_dataA character pointer containing the font size information (e.g. "10 oru" or "0.1 sru").
data_lengthThe size of the message.

Referenced by HSetFontSizeMessageHandler::ProcessMessage().

◆ SetForceFastHiddenLine()

void HBaseView::SetForceFastHiddenLine ( bool  force)
inline

This method enables the forced fast hidden line mode. If this mode is on, all hidden line rendering will be done using the "fast hidden line" mode even if analytic hidden line is requested.

Parameters
forceOn/Off Pass true to turn on force all hidden line rendering to fast hidden line.

◆ SetFramerateMode()

void HBaseView::SetFramerateMode ( FramerateMode  mode,
float  framerate = 0.1f,
int  cullingthreshold = 150,
bool  enableLods = false,
int  steps = 20,
int  cutoff = 1 
)

This methods lets you set the FramerateMode which can be off, target or fixed. The default is off. The fixed framerate mode guarantees that the specified framerate will be met while the target framerate mode uses constant framerate logic to ensure that the actual framerate is always within range of the specified framerate while still ensuring a smooth non-flickering rendered scene.

Parameters
modeFramerate mode (off, target, fixed)
framerateThe desired framerate (in seconds).
cullingthresholdThe minimum size of geometry to be drawn.
enablelodsAllow lods in framerate (only applies if FramerateMode is FramerateTarget)
stepsThe number of steps to reduce the threshold (only applies if FramerateMode is FramerateTarget)
cutoffThe pixel size to trigger culling

◆ SetGeometryChanged()

virtual void HBaseView::SetGeometryChanged ( )
virtual

Use this method to indicate when geometry in a view changes. During Update(), this information is used to determine if recalculations are needed like if cutting lines need to be updated.

◆ SetHandedness()

virtual void HBaseView::SetHandedness ( HandednessMode  mode,
bool  emit_message = false 
)
virtual

This method sets the handedness of the world coordinate system. Note that this is very different from polygon handedness. A "left-handed" Cartesian coordinate system is one in which, if you curl the fingers of your left hand from the X axis towards the Y axis, your thumb will point in the direction of the Z axis. This means your viewing camera is set up so that your X axis points to the right on the screen and the Y axis points straight up, then the Z axis will go into the screen. A "right-handed" coordinate system is just the same, except that Z axis will be in the direction of your right hand's thumb. If the camera is set up with X and Y as above, the Z axis will point out of the screen.

Parameters
modeAn enumerated type indicating the world handedness.
emit_messageIndicates that a message should be sent to the emit_message_function

◆ SetHandednessFromMessage()

virtual void HBaseView::SetHandednessFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method sets the handedness of the world coordinate system based on the information in the message.

Parameters
in_dataA character pointer containing the handedness information.
data_lengthThe size of the message.

Referenced by HSetHandednessMessageHandler::ProcessMessage().

◆ SetHandednessFromModel()

virtual bool HBaseView::SetHandednessFromModel ( bool  remove_handedness_from_model = true,
bool  emit_message = false 
)
virtual

This method checks if the root segment of the model has a handedness setting, and if so, makes that the handedness setting for this view. It also optionally allows removing the handedness setting from the model after setting handedness on the view. If no handedness setting is found on the model, this method will do nothing. This is a convenience function to help ensure the model and view have the same handedness setting to avoid potentially unexpected behavior when the handedness settings differ.

Parameters
remove_handedness_from_modelIf a handedness setting is in the model, remove it after setting it on the view.
emit_messageIndicates that a message should be sent to the emit_message_function
Returns
True if a handedness setting was found on the model and then set on the view, false otherwise.

◆ SetHandleOperator()

virtual void HBaseView::SetHandleOperator ( HBaseOperator op)
inlinevirtual

This method sets the handle operator for this view.

Parameters
opA pointer to handle operator you want associated with this view.

◆ SetHardExtent()

void HBaseView::SetHardExtent ( int  cutoff)

This method sets the hard extent cutoff. When objects are smaller than the pixel diameter given by the threshold, they will be culled from the scene as described in the hard extent option in #HC_Set_Heuristics.

Parameters
cutoffThe hard extent value given in pixels.

◆ SetHardwareAntialiasing()

void HBaseView::SetHardwareAntialiasing ( int  antialiasinglevel)
inline

Controls whether hardware acceleration will be used for anti-aliasing.

◆ SetHasObjects()

virtual void HBaseView::SetHasObjects ( bool  hasobjects)
virtual

This method tells the view if there are objects in the scene.

Parameters
hasobjectsPass true to indicate that the scene has segments that are grouped as objects and/or has handles.

◆ SetHighlightMode()

virtual void HBaseView::SetHighlightMode ( HSelectionHighlightMode  m)
virtual

This method sets the selection highlight mode.

Parameters
mThe new highlight mode as described by HSelectionHighlightMode.

◆ SetIncludeLinkKey()

void HBaseView::SetIncludeLinkKey ( HC_KEY  link)
inline
Returns
The key of the segment used to represent the top of the scene's segment hierarchy.

◆ SetInitialCamera()

virtual void HBaseView::SetInitialCamera ( HPoint  pos,
HPoint  tar,
HPoint  up,
float  fieldx,
float  fieldy,
char const *  proj 
)
virtual

This method sets the intial camera for the scene usually after loading.

Parameters
posA HPoint defining the camera position.
tarA HPoint defining the camera target.
upA HPoint defining the camera up vector.
fieldxThe minimum amount of the scene that should be viewable in the horizontal direction about the camera target in object space units.
fieldyThe minimum amount of the scene that should be viewable in the vertical direction about the camera target in object space units.
*projprojection mode of camera, 'orthographic, 'perspective' and 'stretched' are all valid options.

◆ SetIntersectPolylinesKey()

void HBaseView::SetIntersectPolylinesKey ( HC_KEY  intersectpolylines_key)
inline

This method sets the key of the segment used to store intersection polylines.

Parameters
interesetpolylines_keyPass the segment key you want HOOPS to store intersection polylines under.

◆ SetInvertMouseWheelZoom()

virtual void HBaseView::SetInvertMouseWheelZoom ( bool  val = true)
inlinevirtual

Use this method to control the direction of a zoom resulting from a mouse wheel event

Parameters
valPass true if you want to invert the zoom direction resulting from a camera wheel event.

◆ SetIsoDefault()

void HBaseView::SetIsoDefault ( ViewMode  vm)
inline

This method sets the default viewpoint or quadrant for ISO View.

Parameters
vmThe default ISO View Setting.

◆ SetKeyStateCallback()

void HBaseView::SetKeyStateCallback ( bool(*)(unsigned int, int &)  KeyState)
inline

Sets the key state callback for low level key access.

◆ SetLightCount()

void HBaseView::SetLightCount ( int  count)

Use this method to control the number of lights in the scene.

Parameters
countthe number of lights.

◆ SetLightFollowsCamera()

void HBaseView::SetLightFollowsCamera ( bool  onoroff)

Use this method to indicate if you want the light to follow the camera.

Parameters
onoroffPass true for the light to follow the camera or false if it should not.

◆ SetLightsKey()

void HBaseView::SetLightsKey ( HC_KEY  lights_key)
inline

This method sets the key of the segment containing the lights for the scene.

Parameters
lights_keyPass the key of the segment that you want HOOPS to create light for the scene in.
Returns
The maximum zoom level for a camera. The value is in object space units.

◆ SetLineAntialiasing()

void HBaseView::SetLineAntialiasing ( bool  onoff)

This method enables or disables anti-aliasing for lines by setting the appropriate rendering option in the view segment.

Parameters
onoffLine Anti-aliasing on/off

◆ SetLodMode()

void HBaseView::SetLodMode ( bool  onoff)

This method enables or disables the Level-Of-Detail. LOD is an optimization that involves simplifying objects that have facetted representations so that they will be drawn using a smaller number of triangles. As a result, LOD can improve performance by an order of magnitude while maintaining the visual integrity of the model.

Parameters
onoffIf true, LOD is enabled. If false, it is disabled.

◆ SetLodThreshold()

void HBaseView::SetLodThreshold ( int  val)

This method sets the LOD threshold for which HOOPS will dynamically switch between different levels of detail.

Parameters
valThe threshold distance in world space from the camera position in which HOOPS will dynamically switch between levels of detail.
Returns
The key of the HOOPS driver instance segment.

◆ SetMarkupManager()

void HBaseView::SetMarkupManager ( HMarkupManager markup)
inline

This method sets the HMarkupManager object for the view.

Parameters
markupA pointer to an HMarkupManager object.

◆ SetMaximumUpdateTime()

void HBaseView::SetMaximumUpdateTime ( float  mut)
inline

This method lets you set the ceiling on the time it takes for an update to be performed.

Parameters
mutThe upper limit on the duration of a update in seconds.

◆ SetModellingMatrixFromMessage()

virtual void HBaseView::SetModellingMatrixFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method receives all SetModellingMatrix messages.

Parameters
in_datathis contains the modelling matrix information
data_lengthlength of the in_data array

Referenced by HSetModellingMatrixMessageHandler::ProcessMessage().

◆ SetNavCube()

void HBaseView::SetNavCube ( bool  onoff)
inline

This method informs the view of the visibility of the navcube.

Parameters
onoffPass true to indicate that the navcube is visible or false to indicate that it is not.

◆ SetOcclusionCullingMode()

void HBaseView::SetOcclusionCullingMode ( bool  mode,
bool  UseOctree = true,
int  threshold = 50 
)

This method sets the occlusion culling mode. If true, then HOOPS will do a test to determine if an object in the scene will modify any pixels in the scene i.e. is this object fully occluded by other objects in the scene be before deciding to draw it.

Parameters
modeIf true, occlusion culling will be used. If false, it will not.
UseOctreeIf true, HOOPS will use an Octree in calculating occlusion logic. If false, it will not. This parameter is only applied if mode is True.

◆ SetOperator()

void HBaseView::SetOperator ( HBaseOperator NewOperator)

This method sets the current operator to NewOperator.

Parameters
NewOperatorA pointer to the new operator.

◆ SetPolygonHandednessMode()

void HBaseView::SetPolygonHandednessMode ( HandednessMode  )

This method sets the polygon handedness. In order to do a backplane cull, there must be some definition of a polygon's "front" and "back" (or equivalently "inside face" and "outside face"). This orientation is determined by the order in which the polygon's vertices were originally defined, and the polygon handedness setting (and not the coordinate system handedness). If you wrap the fingers of the chosen hand along the vertices of the polygon, with your wrist at the first vertex specified and your fingertips at the last, then extend your thumb perpendicular to your fingers, by definition, your thumb is extending out of the front face of the polygon. The hand you use, left or right, determines the front and back of the polygon.

Parameters
HandednessModeThis mode will help HOOPS determine which the inside and outside of a given face.

◆ SetProgressBarKey()

void HBaseView::SetProgressBarKey ( HC_KEY  key)
inline

This method sets the key of the segment that HBaseView uses to create the progress bar for loading files under.

Parameters
view_keyThe key of the segment to use for creating the progress bar.
Returns
True if the last update was interrupted.

◆ SetProjMode()

void HBaseView::SetProjMode ( ProjMode  mode)

This method sets the projection mode for how the camera converts a 3-D scene into 2-D for viewing.

Parameters
modeThe mode in which you want the camera to project.

◆ SetRecordCamera()

void HBaseView::SetRecordCamera ( bool  rc)

This method enables or disables the automatic camera movement recording.

Parameters
rcPass true to enable camera recording or false to disable it.

◆ SetReferenceSelection()

virtual void HBaseView::SetReferenceSelection ( bool  use_ref)
virtual

This method controls whether or not quick moves (reference) highlighting will be used in both of the selection sets maintained by the HBaseView.

Parameters
use_refif true, quickmoves highlighting will be used, otherwise conditional highlighting will be.

◆ SetReflectionPlane()

virtual void HBaseView::SetReflectionPlane ( bool  state,
float  opacity = 0.5f,
bool  fading = true,
bool  attenuate = false,
float  hither = 0.0f,
float  yon = 1.0f,
bool  blur = false,
int  blur_level = 1 
)
virtual

This method sets up the reflection plane in the current view.

Parameters
statewhether the reflection plane should be on or off.
opacitythe opacity of the reflection.
fadingif true, the reflection will fade as it moves away from the camera.
attenuatedetermines whether the reflection should fade as the model moves away from it.
hitherif attenuate is true, this is the near plane where attenuation begins.
yonif attenuate is true, this is the far plane. attenuation occurs linearly between hither and yon.
blurindicates whether the reflection will be blurred.
blur_levelthe amount of blurring applied.

◆ SetRelatedSelectionLimit()

virtual void HBaseView::SetRelatedSelectionLimit ( int  limit)
virtual

This method sets the max number of items that each selection will hit.

Parameters
limitPass in NO_RELATED_SELECTION_LIMIT for no related selection limit.

◆ SetRenderMode()

virtual void HBaseView::SetRenderMode ( HRenderMode  NewRenderMode,
bool  emit_message = false 
)
virtual

This method has been deprecated. This method sets the render mode for this view to NewRenderMode. The default is HRenderGouraud.

Parameters
NewRenderModeThe new render mode.
emit_messagePass true to indicates that an HNet message should be generated/sent.

◆ SetRenderModeFromMessage()

virtual void HBaseView::SetRenderModeFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method has been deprecated. This method is called by HNet to change the rendermode of the client involved in a HNet session.

Parameters
in_datathe data containing the requested rendermode.
data_lengthThe length of the in_data array.

Referenced by HSetRenderModeMessageHandler::ProcessMessage().

◆ SetRespectSelectionCulling()

virtual void HBaseView::SetRespectSelectionCulling ( bool  onoff)
virtual

Use this method to set the selection culling mode to "maximum extents". If it is on, selected geometry will be culled in the same manner as unselected geometry.

Parameters
onoffPass true to cull selected geometry in the same manner as unselected geometry, or false for selected geometry not to be culled.

◆ SetSceneBounding()

void HBaseView::SetSceneBounding ( HPoint min,
HPoint max 
)

This function sets a scene bounding.

Parameters
minthe minimum values of the bounding
maxthe maximum values of the bounding

◆ SetSceneKey()

void HBaseView::SetSceneKey ( HC_KEY  scene_key)
inline

This method sets the key of the segment used to represent the top of the scene's segment hierarchy.

Parameters
scene_keyThe key of the segment to use at the top-level scene segment.

◆ SetSelection()

void HBaseView::SetSelection ( HSelectionSet selection)
inline

This method sets the selection object for this view.

Parameters
selectionA pointer the HSelectionSet object you want associated with this view.

◆ SetShadowBlurring()

virtual void HBaseView::SetShadowBlurring ( int  blur)
virtual

This method sets how blurring will be done on shadows.

Parameters
blurA number between 1 to 31 indicating the level of blurring (softening) that is applied to the shadow

◆ SetShadowColor()

virtual void HBaseView::SetShadowColor ( HPoint  color)
virtual

This method sets the shadow color.

Parameters
colorThe new shadow color passed as an HPoint where x is the red value, y is the green value and g is the blue value.

◆ SetShadowIgnoresTransparency()

virtual void HBaseView::SetShadowIgnoresTransparency ( bool  ignore)
virtual

Toggles whether or not transparency is considered when casting simple shadow.

◆ SetShadowLightDirection()

virtual void HBaseView::SetShadowLightDirection ( bool  explicit_light,
HPoint const *  direction = 0 
)
virtual

This method allows you to set a custom light direction for simple shadows.

Parameters
explicit_lightWhether or not to use an explicit light. If false, a light direction will be automatically generated.
directionA pointer to a HPoint object that determines the direction of the light. Passing null is equivalent to passing false for explicit_light.

◆ SetShadowMode()

virtual void HBaseView::SetShadowMode ( HShadowMode  sm,
bool  saveMode = true 
)
virtual

This method updates the current shadow of model in the current view.

Parameters
smThe new shadow mode that you want the view to use.
saveModePass true to save the mode internally independent of the HOOPS database.

◆ SetShadowParams() [1/2]

void HBaseView::SetShadowParams ( const HPlane shadow_plane,
const HPoint light_pos,
const HPoint color = 0,
const char *  filter = 0 
)
protected

This method sets the plane, light position, color and filter for the shadow.

Parameters
shadow_planeAn HPlane (a,b,c,d) value representing the shadow plane.
light_posAn HPoint (x,y,z) value representing light position for shadow.
colorAn HPoint representing the rgb color value for the shadow where x is the r value, y is the g value and z is the b value.
filterA string value the amount of blurring for the shadow.

◆ SetShadowParams() [2/2]

virtual void HBaseView::SetShadowParams ( HShadow shadowObj)
protectedvirtual

Deprecated. Please use ComputeShadowParams() instead. Computes the plane and light position for the given shadow. The shadow plane is one which has normal along view-up vector and just kisses the objects in the scene at the bottom. The shadow light is placed a distance "r" (radius of circumcuboid of scene) farther from the shadow plane

Parameters
shadowObjThe HShadow object representing the shadow

◆ SetShadowRegenerationMode()

virtual void HBaseView::SetShadowRegenerationMode ( bool  onoff)
inlinevirtual

Use this method to enable or disable updates of shadows in the scene. If the mode is on, shadows will be redrawn if there are any changes to the geometry.

Parameters
onoffPass true to turn shadow regeneration on or false to turn it off.

◆ SetShadowRegenerationToggle()

virtual void HBaseView::SetShadowRegenerationToggle ( )
inlinevirtual

This method suppresses shadow regeneration for the next update. After the update is performed, the m_bShadowRegeneration flag will be set to true again and the toggle value will be set to false.

◆ SetShadowRenderingMode()

void HBaseView::SetShadowRenderingMode ( HShadowRenderingMode  mode)

This method sets the shadow rendering mode. The shadow render mode determines if shadows are rendered either by hardware or software.

Parameters
modeThe shadow rendering mode you want HOOPS to use.

◆ SetShadowResolution()

virtual void HBaseView::SetShadowResolution ( int  res)
virtual

This method sets the shadow resolution.

Parameters
resThe new shadow resolution which is number from 32 to 1024.

◆ SetSignalNotify()

unsigned long HBaseView::SetSignalNotify ( int  signal,
HSignalNotifyFunction  callback,
void *  user_data 
)

Request notification when a particular event occurs.

Parameters
signalEvent for which we are requesting notification (see enum HSignal in HGlobals.h).
callbackThe function to be called when the event happens.
user_dataData that should be passed along to the callback function.
Returns
A cookie (i.e. a unique id) that we will need to use when we want to clean up this notification request.

◆ SetSmoothTransitionDuration()

void HBaseView::SetSmoothTransitionDuration ( float  duration)
inline

This method determines the length of the smooth transition in seconds.

Parameters
durationThe duration of the transiation in seconds.

◆ SetSplatRendering()

void HBaseView::SetSplatRendering ( bool  onoff)

Controls the state of splat rendering of markers.

◆ SetSplatSize()

void HBaseView::SetSplatSize ( int  splat_size)

This method sets the size of marker splats in wsu.

◆ SetSplatSymbol()

void HBaseView::SetSplatSymbol ( SplatSymbol  symbol)

This method sets the symbol used for marker splats.

◆ SetSpritingMode()

void HBaseView::SetSpritingMode ( bool  onoff)
inline

This method allows you to enables or disables spriting. If the spriting mode is turned on, it allows other classes in MVO to set the quick moves heuristic option to spriting for a segment that will be changing rapidly over a certain period time. This lets HOOPS render a scene more quickly because it updates only the changing geometry leaving the rest of the scene unchanged.

Parameters
onoffPass true if you wish to turn on spriting. Pass false, if you wish to turn it off.

◆ SetSuppressUpdate()

void HBaseView::SetSuppressUpdate ( bool  suppress)
inline

Use this method to prevent an update from occurring. This can be useful if you are in the middle of an operation and do not want a timer event to cause an update to occur.

Parameters
suppressIf this value is set to true, then no updates will be made.

◆ SetSuppressUpdateTick()

void HBaseView::SetSuppressUpdateTick ( bool  suppress)
inline

Use this method to prevent an timer update from occurring. This can be useful if you are in the middle of an operation and do not want a timer event to cause an update to occur.

Parameters
suppressIf this value is set to true, then no updates will be made.

◆ SetTextAntialiasing()

void HBaseView::SetTextAntialiasing ( bool  onoff)

This method enables or disables anti-aliasing for text by setting the appropriate rendering option in the view segment.

Parameters
onofftext Anti-aliasing on/off

◆ SetTransparency()

void HBaseView::SetTransparency ( char const *  text,
bool  fast_z_sort = false 
)

This method sets how transparency should be rendered in the view.

Parameters
textA text string that describes how transparency should be rendered as describe in HC_Set_Rendering_Options.
fast_z_sortIf the sorting algorithm is z-sort only, this controls whether to use the fastest or nicest option.

◆ SetTransparentSelectionBoxMode()

void HBaseView::SetTransparentSelectionBoxMode ( bool  mode)
inline

Determines whether the HOpSelectArea operator should draw its area with a transparent rectangle as opposed to just an outline.

Parameters
modeIf the value is true, the selection area will be draw with a transparent rectangle. If the value is false, it will just have an outline.

◆ SetUpdateInterrupted()

void HBaseView::SetUpdateInterrupted ( int  val)
inline

Use this method to tell HOOPS if an update was interrupted.

Parameters
valPass 1 to indicate that an update was interrupted or 0 to indicate that it wasn't.
Returns
The time since the last event, as reported by #HC_Show_Time.

◆ SetUpdateNotFinished()

void HBaseView::SetUpdateNotFinished ( bool  NotFinished)
inline

Used to indicate whether an update is currently in progress.

◆ SetupHandlesEvent()

int HBaseView::SetupHandlesEvent ( HBaseView view,
HC_KEY  key,
bool  complex 
)

This method creates handles for the specified object.

Parameters
viewA pointer to the HBaseView object.
keyThe key of the object to set up the handles for.
complexPass true to create complex handles or false to create simple ones.
Returns
An event code that states whether the event was process.

◆ SetupLights()

virtual void HBaseView::SetupLights ( )
protectedvirtual

This method is used internally to place distant lights. It must consider factors such as how many lights are expected in the scene and whether those lights should follow the camera.

◆ SetViewAxis()

void HBaseView::SetViewAxis ( HVector front_axis,
HVector top_axis 
)
inline

This method defines the three vectors which represent the front-back, right-left and top-bottom camera axis for the current model. These vectors are used in calls to SetViewMode to determine the correct viewing position for the standard- as well as the isometric views.

Parameters
front_axisA pointer to the front - back axis.
top_axisA pointer to the top - bottom axis.

◆ SetViewKey()

void HBaseView::SetViewKey ( HC_KEY  view_key)
inline
Returns
The key to the link which includes the HBaseModel segment into the scene.

◆ SetViewMode()

virtual void HBaseView::SetViewMode ( ViewMode  mode,
bool  invert = false,
bool  fitWorld = true 
)
virtual

This method sets the view mode for this view. The default is HViewXY.

Parameters
modePass the new view mode.
invertPass true if you want to set the inverted view of the passed mode.
fitworldPass true if you want to reset the camera so that it views the extents of the scene.

◆ SetViewSelectionLevel()

void HBaseView::SetViewSelectionLevel ( HViewSelectionLevel  level)

Controls the behavior of Compute_Selection calls performed on this driver. If level is set to HSelectionLevelEntity, the key of each selected piece geometry will be returned. If it is set to HSelectionLevelSegment, only the containing segment keys will be returned once, even if several geometries are selected in a given segment. HSelectionLevelSegmentTree is not currently supported.

Parameters
levelThe new selection level to be set on the driver.

◆ SetViewUpdateMode()

void HBaseView::SetViewUpdateMode ( ViewUpdateMode  mode,
float  rate = 0.01f 
)

Use this method to determine how the view is updated by setting one of the three ViewUpdateModes. ViewUpdateMode::Continuous is the recommended mode for most applications. In this mode, HOOPS will poll at regular intervals for the posted update events. If you choose this mode, please provide a polling interval value is ticks. On the opposite end of the spectrum, ViewUpdateMode::OnDemand tell HOOPS not to perform any update automatically but instead, it expects the application to explicitly call Update when it is required. The final update mode is ViewUpdateMode::Deferred which makes continuous culled, timed updates drawing culled items if time permits. When HBaseView is initialized, the mode is set to ViewUpdateMode::OnDemand.

Parameters
modeThe new view update mode ViewUpdateMode::Continuous, ViewUpdateMode::OnDemand or ViewUpdateMode::Deferred.
rateRate, in ticks, in which updates are generated.

◆ SetVisibilitySelectionMode()

virtual void HBaseView::SetVisibilitySelectionMode ( bool  onoff)
virtual

This method enables or disables visibility selection mode.

Parameters
onoffPass true for object visibility is taken into account or false for object visibility not taken into account.

◆ SetWindowColor() [1/2]

virtual void HBaseView::SetWindowColor ( HPoint  rgb,
bool  emit_message = false 
)
virtual

This method sets the window color.

Parameters
rgbAn HPoint containing the rgb color at the top of the window where x is the r value, y is the g value and z is the b value.
emit_messagePass true to indicate that a message should be sent to the emit_message_function

◆ SetWindowColor() [2/2]

virtual void HBaseView::SetWindowColor ( HPoint  rgbtop,
HPoint  rgbbottom,
bool  emit_message = false 
)
virtual

This method sets the window color, and does an interpolation between color values if top and bottom are different. This is done in the IM Callback HImUtility::draw_gradiated_window_background.

Parameters
rgbtopAn HPoint containing the rgb color at the top of the window where x is the r value, y is the g value and z is the b value.
rgbbottomAn HPoint containing the rgb color at the bottom of the window,where x is the r value, y is the g value and z is the b value. If the color is different, then rgbtop we will smoothly interpolate between the two color values.
emit_messagePass true to indicate that a message should be sent to the emit_message_function

◆ SetWindowColorFromMessage()

virtual void HBaseView::SetWindowColorFromMessage ( const char *  in_data,
unsigned int  data_length 
)
virtual

This method sets the window color based on the information in the message.

Parameters
in_dataA character pointer containing the window color information.
data_lengthThe size of in_data.

Referenced by HSetWindowColorMessageHandler::ProcessMessage().

◆ SetWindowColorRange()

virtual void HBaseView::SetWindowColorRange ( HPoint  rgbtop,
HPoint  rgbbottom,
int  percentage,
bool  emit_message = false 
)
virtual

This method sets the window color, and does an interpolation between color values if top and bottom are different. Additionally a percentage value can be specified which determines how far into the vertical direction the gradient will go.

Parameters
rgbtopAn HPoint containing the rgb color at the top of the window where x is the r value, y is the g value and z is the b value.
rgbbottomAn HPoint containing the rgb color at the bottom of the window,where x is the r value, y is the g value and z is the b value. If the color is different, then rgbtop we will smoothly interpolate between the two color values.
percentageThe percentage to extend gradient in the vertical direction.
emit_messagePass true to indicate that a message should be sent to the emit_message_function

◆ SetWindowMaterial()

virtual void HBaseView::SetWindowMaterial ( const char *  name,
bool  emit_message = false 
)
virtual

This method give the window a texture.

Parameters
nameThe name of a texture material
emit_messagePass true to indicate that a message should be sent to the emit_message_function

◆ SetWindowspaceKey()

void HBaseView::SetWindowspaceKey ( HC_KEY  winspace_key)
inline

This method sets the key of the segment used to hold window space attributes.

Parameters
winspace_keyThe key of the segment you want HOOPS to hold window space attributes.
Returns
The key of the segment used to store temporary construction geometry.

◆ SetZoomLimit() [1/2]

void HBaseView::SetZoomLimit ( float  zoomLimit)
inline

This method sets the maximum zoom level for a camera. It guarantees that the window always views more than this number of units.

Parameters
zoomlimitPass a value in object space units.This method performs an automatic calculation of the zoom limit based off of the bounding box of the scene.

◆ SetZoomLimit() [2/2]

virtual void HBaseView::SetZoomLimit ( )
virtual
Returns
The key of the segment used to hold windowspace attributes.

◆ SmartFilterCircumcuboid()

virtual void HBaseView::SmartFilterCircumcuboid ( const char *  segment,
const char *  defaults,
HPoint bottomfrontleft,
HPoint topbackright 
)
virtual

This is a wrapper around #HC_Filter_Circumcuboid that sends a pre and post filter event to allow the application to manipulate filter results.

Parameters
segmentThe segment to start the bounding calculation.
defaultsThe default visibility settings.
bottomfrontleftReturns a point describing one end of the bounding circumcuboid.
topbackrightReturns a point describing the other end of the bounding circumcuboid.

◆ StartSharedKey()

virtual void HBaseView::StartSharedKey ( )
virtual

This method should be called when you want to associate keys of objects from different HBaseView objects. This is mostly used for HNet sessions.

◆ StaticForceUpdateRequest()

static void HBaseView::StaticForceUpdateRequest ( void *  view_pointer)
static

This function can be used to force an update on a given view.

Parameters
view_pointera pointer to an HBaseView object.

◆ StreamProgressCallback()

static bool HBaseView::StreamProgressCallback ( unsigned long  so_far,
unsigned long  expected,
void *  user_data 
)
static

The ProgressBarCallback usually called from streaming toolkit.

Parameters
so_farThe amount of data received.
expectedThe amount Of data expected.
user_dataThe user data.
Returns
True if the event was processed.

◆ UnSetSignalNotify()

void HBaseView::UnSetSignalNotify ( unsigned long  cookie)

Rescind a signal request notification.

Parameters
cookiethe unique identifier of the request to be cancelled.

◆ Update()

virtual void HBaseView::Update ( )
virtual

This method updates the scene. The HOOPS segment tree is traversed and any changes in geometry or attributes are updated via a redraw. Cutting plane geometry and the orientation of the axis display are recalculated if necessary. If constant frame rate is enabled and activated by an operator, the detail level of the geometry is adjusted if necessary in order to maintain the target frame rate.

◆ UpdateAxisTriad()

void HBaseView::UpdateAxisTriad ( )
inline

This method recreates the axis triad to account for any changes in behavior that might have been requested.

◆ UpdateEvent()

int HBaseView::UpdateEvent ( bool  antialias = false,
bool  forceUpdate = false 
)

This event method receives update events.

Parameters
antialiasIf true, then an anti-aliased version of the scene will be drawn.
forceUpdateIf true, then an update will be forced.
Returns
A standard event code indicating if the event was consumed or passed.

◆ UpdateFakeHLRColor()

void HBaseView::UpdateFakeHLRColor ( HPoint  paper_color)

This method is used for setting the background color used for fake hidden-line drawing.

Parameters
paper_colorAn RGB triplet where each value is in [0.0, 1.0].

◆ UpdateHighlighting()

virtual void HBaseView::UpdateHighlighting ( )
virtual

This method updates the highlighting of selected objects in all HSelectionSets owned by this view.

◆ UpdateInternal()

virtual void HBaseView::UpdateInternal ( bool  antialias = false,
bool  force_update = false 
)
protectedvirtual

This method updates the scene. The HOOPS segment tree is traversed and any changes in geometry or attributes are updated via a redraw. Cutting plane geometry and the orientation of the axis display are recalculated if necessary. If constant frame rate is enabled and activated by an operator, the detail level of the geometry is adjusted if necessary in order to maintain the target frame rate.

Parameters
antialiasIf true, then an anti-aliased version of the scene will be drawn.
force_updateIf true, then an update will be forced.

◆ UpdateTick()

static bool HBaseView::UpdateTick ( float  request_time,
float  actual_time,
void *  user_data 
)
static

The Tick function called from the timer manager.

Parameters
request_timeThe time in which the function requested a call.
actual_timeThe actual time the function was called.
user_dataThe user data.
Returns
True if the event was processed.

◆ ZoomToExtents()

virtual void HBaseView::ZoomToExtents ( )
virtual

This method uses FitWorld to reset the camera and then calls Update in various ways depending on how the smooth transition parameters are set.

◆ ZoomToInitialCamera()

virtual void HBaseView::ZoomToInitialCamera ( )
virtual

This functions zooms to the original camera settings which have been specified when the model was initially loaded.

Member Data Documentation

◆ GetEventCheckerCallback

void(*)(HIC_Rendition const *nr) HBaseView::GetEventCheckerCallback()
inline
Returns
A pointer to an event checker callback function.

◆ GetKeyStateCallback

bool(*)(unsigned int, int &) HBaseView::GetKeyStateCallback()
inline
Returns
A pointer to a keyboard query callback function.

◆ m_AxisTriadKey

HC_KEY HBaseView::m_AxisTriadKey
protected

Key of the segment which contains the axis triad.

◆ m_AxisWindowSize

int HBaseView::m_AxisWindowSize
protected

The width and height of the axis triad, given as a number of pixels.

◆ m_bAllowInteractiveCutGeometry

bool HBaseView::m_bAllowInteractiveCutGeometry
protected

The flag to allow interactive cut geometry mode.

◆ m_bAllowInteractiveShadows

bool HBaseView::m_bAllowInteractiveShadows
protected

The flag to allow interactive shadow mode.

◆ m_bAxisMode

AxisMode HBaseView::m_bAxisMode
protected

Current axis display mode.

◆ m_bAxisTriadTransparencyAllowed

bool HBaseView::m_bAxisTriadTransparencyAllowed
protected

Allow/disallow portions of the axis triad to be alpha blended (regardless, window is still clear).

◆ m_bBeginShellSelection

bool HBaseView::m_bBeginShellSelection
protected

Indicates if Shell Selection Mode is currently active.

◆ m_BBoxGeometryKey

HC_KEY HBaseView::m_BBoxGeometryKey
protected

Key of the segment which is used to draw geometry representing the bounding box of geometry being manipulated.

◆ m_bCameraChanged

bool HBaseView::m_bCameraChanged
protected

The value is true if the camera changed between updates.

◆ m_bCPFaceVisibility

bool HBaseView::m_bCPFaceVisibility
protected

This member indicates the visibility setting of cutting plane intersection faces.

◆ m_bCPLineVisibility

bool HBaseView::m_bCPLineVisibility
protected

This member indicates the visibility setting of cutting plane intersection lines .

◆ m_bCuttingPlaneRegeneration

bool HBaseView::m_bCuttingPlaneRegeneration
protected

Enables/Disables Cutting Plane Regeneration.

◆ m_bCuttingPlanesExist

bool HBaseView::m_bCuttingPlanesExist
protected

Existence of cutting plane geometry.

◆ m_bCuttingPlanesVisibility

bool HBaseView::m_bCuttingPlanesVisibility
protected

Visibility of transparent face representing the cutting plane.

◆ m_bFirstUpdate

bool HBaseView::m_bFirstUpdate
protected

A boolean indicating if a call to Update() has occurred.

◆ m_bForceFastHiddenLine

bool HBaseView::m_bForceFastHiddenLine
protected

If this member is set to true, it forces fast hidden line mode overriding other settings.

◆ m_bGeometryChanged

bool HBaseView::m_bGeometryChanged
protected

If true, cutting plane intersection geometry will be recomputed during an update; if false, such geometry will not be recomputed.

◆ m_bHideOverlappedText

bool HBaseView::m_bHideOverlappedText
protected

Informs the view if overlapped text should be filtered. This causes a performance hit.

◆ m_bInitialCameraSet

bool HBaseView::m_bInitialCameraSet
protected

A flag indicating if initial camera is set.

◆ m_bInvertMouseWheelZoom

bool HBaseView::m_bInvertMouseWheelZoom
protected

A flag which indicate whether we should invert the zoom which results from a mouse wheel event.

◆ m_bLButtonDown

bool HBaseView::m_bLButtonDown
protected

For internal use.

◆ m_bLightFollowsCamera

bool HBaseView::m_bLightFollowsCamera
protected

Indicates whether the light should follow the camera around; default is true.

◆ m_bLineAntialiasing

bool HBaseView::m_bLineAntialiasing
protected

Enables/Disables line anti-aliasing.

◆ m_bMouseMove

bool HBaseView::m_bMouseMove
protected

For internal use.

◆ m_bNavCube

bool HBaseView::m_bNavCube
protected

Informs the view if the navcube is on and needs to be updated.

◆ m_bRecordCamera

bool HBaseView::m_bRecordCamera
protected

Indicates if camera recording mode is active.

◆ m_bShadowRegeneration

bool HBaseView::m_bShadowRegeneration
protected

Enables/Disables shadow regeneration.

◆ m_bShadowRegenerationToggle

bool HBaseView::m_bShadowRegenerationToggle
protected

If enabled, shadow regeneration will be toggled back on during next update.

◆ m_bSmoothTransition

bool HBaseView::m_bSmoothTransition
protected

Enables/Disables smooth transition for non-interactive view changes.

◆ m_bSpritingAllowed

bool HBaseView::m_bSpritingAllowed
protected

Allow/disallow spriting in operators.

◆ m_bTextAntialiasing

bool HBaseView::m_bTextAntialiasing
protected

Enables/Disables text anti-aliasing.

◆ m_bTransparentSelectionBox

bool HBaseView::m_bTransparentSelectionBox
protected

Indicates whether selection by area should draw a transparent rectangle or just its outline.

◆ m_bUpdateRequested

bool HBaseView::m_bUpdateRequested
protected

If the value is true, an update was requested. If the value is false, then no update was requested.

◆ m_ConstructionKey

HC_KEY HBaseView::m_ConstructionKey
protected

Key of the segment with quickmoves attributes typically used for temporary geometry.

◆ m_CPMode

int HBaseView::m_CPMode
protected

Indicates where, for purposes of generating cutting plane intersection faces, solid bodies begin and end. See HIMCG_Body_Type in HImCuttingGeometry.h.

◆ m_CuttingPlaneGeomKey

HC_KEY HBaseView::m_CuttingPlaneGeomKey
protected

Key of the node of the segment which contains the cutting plane intersection geometry.

◆ m_CuttingPlanesKey

HC_KEY HBaseView::m_CuttingPlanesKey
protected

Key of the node of the segment tree which contains the the cutting planes and the quad grids used to visually represent them.

◆ m_DefaultSelectionProximity

float HBaseView::m_DefaultSelectionProximity
protected

Selection Proximity for View.

◆ m_DisplayListType

DisplayListType HBaseView::m_DisplayListType
protected

They type of display lists used.

◆ m_FakeHLRSource

HC_KEY HBaseView::m_FakeHLRSource
protected

The key of the segment containing fake hidden line settings.

◆ m_FakeHLRStyle

HC_KEY HBaseView::m_FakeHLRStyle
protected

The key of the fake hidden line style, if it is currently applied (should be invalid otherwise).

◆ m_FrontAxis

HVector HBaseView::m_FrontAxis
protected

Front-Back Axis Vector used in SetViewMode.

◆ m_HighlightMode

HSelectionHighlightMode HBaseView::m_HighlightMode
protected

This member stores the current highlighting mode.

◆ m_IdleTime

float HBaseView::m_IdleTime
protected

Time since the last event.

◆ m_InitialCamera

HCamera HBaseView::m_InitialCamera
protected

The camera settings for the initial camera.

◆ m_IntersectPolylinesKey

HC_KEY HBaseView::m_IntersectPolylinesKey
protected

Key of the node of the segment which contains polylines of intersection (see HOpObjectClash operator).

◆ m_InUpdateInternal

int HBaseView::m_InUpdateInternal
protected

The value is true if we are in UpdateInternal

◆ m_IsoDefault

ViewMode HBaseView::m_IsoDefault
protected

The default ISO View.

◆ m_LightsKey

HC_KEY HBaseView::m_LightsKey
protected

The key of the HOOPS segment containing the lights for this view.

◆ m_lIncludeLinkKey

HC_KEY HBaseView::m_lIncludeLinkKey
protected

This is the key which defines the link from the view segment to the HBaseModel segment.

◆ m_MaximumUpdateTime

float HBaseView::m_MaximumUpdateTime
protected

Time beyond which updates should be cut off.

◆ m_OverwriteKey

HC_KEY HBaseView::m_OverwriteKey
protected

Key of the segment associated with this view's scene. This is a subsegment of the View segment.

◆ m_pAntialiasing

HUtilityAntialiasing* HBaseView::m_pAntialiasing
protected

A pointer to the anti-aliasing utility class.

◆ m_pConstantFrameRate

HConstantFrameRate* HBaseView::m_pConstantFrameRate
protected

A pointer to the constant framerate object of this view.

◆ m_pDebugZBuffer

class HDebugZBuffer* HBaseView::m_pDebugZBuffer
protected

A pointer to the object associated with the active z buffer visualization window (if any).

◆ m_pEvent

HEventInfo* HBaseView::m_pEvent
protected

A pointer to the current event of this view.

◆ m_pEventManager

HEventManager* HBaseView::m_pEventManager
protected

A pointer to the event manager.

◆ m_pfEventChecker

void(* HBaseView::m_pfEventChecker) (HIC_Rendition const *nr)
protected

A pointer to an event checker function.

◆ m_pfKeyState

bool(* HBaseView::m_pfKeyState) (unsigned int, int &)
protected

A pointer to a keyboard query function .

◆ m_pHandleOperator

HBaseOperator* HBaseView::m_pHandleOperator
protected

A pointer to the handle operator.

◆ m_pHighlight

HSelectionSet* HBaseView::m_pHighlight
protected

A pointer to the highlight object of this view.

◆ m_pHImCuttingGeometry

HImCuttingGeometry* HBaseView::m_pHImCuttingGeometry
protected

A pointer to the object containing the cutting geometry .

◆ m_pManipulateOperator

HOpCameraManipulate* HBaseView::m_pManipulateOperator
protected

Operator Instance used in axis based camera manipulation.

◆ m_pMarkupManager

HMarkupManager* HBaseView::m_pMarkupManager
protected

A pointer to the markup manager class.

◆ m_pModel

HBaseModel* HBaseView::m_pModel
protected

Pointer to the HBaseModel object to be viewed.

◆ m_pObjectManager

HObjectManager* HBaseView::m_pObjectManager
protected

A pointer to the object manager.

◆ m_pOperator

HBaseOperator* HBaseView::m_pOperator
protected

A pointer to the current operator of this view.

◆ m_ProgressBarKey

HC_KEY HBaseView::m_ProgressBarKey
protected

Key of the segment which contains the file load progress bar.

◆ m_pSelection

HSelectionSet* HBaseView::m_pSelection
protected

A pointer to the selection object of this view.

◆ m_pSharedKey

HSharedKey* HBaseView::m_pSharedKey
protected

A pointer to Shared Key class.

◆ m_pUndoManager

HUndoManager* HBaseView::m_pUndoManager
protected

A pointer to the undo manager.

◆ m_RenderMode

HRenderMode HBaseView::m_RenderMode
protected

The current render mode.

◆ m_SceneKey

HC_KEY HBaseView::m_SceneKey
protected

Key of the segment associated with this view's scene. This is a subsegment of the View segment.

◆ m_SceneLight

HC_KEY HBaseView::m_SceneLight[MaxLights]
protected

The key of the default distant light.

◆ m_ShadowMode

HShadowMode HBaseView::m_ShadowMode
protected

The current shadow mode.

◆ m_SmoothTransitionDuration

float HBaseView::m_SmoothTransitionDuration
protected

Duration of Smooth Transition.

◆ m_TopAxis

HVector HBaseView::m_TopAxis
protected

Top-Bottom Axis Vector used in SetViewMode.

◆ m_TouchManager

HTouchManager* HBaseView::m_TouchManager
protected

A pointer to the touch manager class.

◆ m_UpdateInterrupted

int HBaseView::m_UpdateInterrupted
protected

The value is true if update has been interrupted by GUI event, and false if update was not interrupted.

◆ m_ViewKey

HC_KEY HBaseView::m_ViewKey
protected

Key of the HOOPS driver instance segment.

◆ m_ViewMode

ViewMode HBaseView::m_ViewMode
protected

The current view mode.

◆ m_ViewUpdateMode

ViewUpdateMode HBaseView::m_ViewUpdateMode
protected

The value of the update mode which can be continuous or on demand.

◆ m_WindowColorPercentage

int HBaseView::m_WindowColorPercentage
protected

This value determines how far the gradiated background extends into the vertical direction.

◆ m_WindowspaceKey

HC_KEY HBaseView::m_WindowspaceKey
protected

Key of the segment with window (screen) space attributes typically used for temporary geometry.


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