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 () |
HUtilityAntialiasing * | GetAntialiasing () |
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) |
HConstantFrameRate * | GetConstantFrameRateObject () |
HC_KEY | GetConstructionKey () |
bool | GetCPFaceVisibility () |
bool | GetCPLineVisibility () |
int | GetCullingThreshold () |
HBaseOperator * | GetCurrentOperator () |
HCutGeometryVisibility | GetCutGeometryVisibility () |
HC_KEY | GetCuttingPlaneGeomKey () |
bool | GetCuttingPlaneRegenerationMode () |
bool | GetCuttingPlanesExist (const char *plane=0) |
HC_KEY | GetCuttingPlanesKey () |
bool | GetCuttingPlanesVisibility () |
class HDebugZBuffer * | GetDebugZBuffer () |
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 () |
HEventManager * | GetEventManager () |
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 HBaseOperator * | GetHandleOperator () |
int | GetHardExtent () |
int | GetHardwareAntialiasing () |
virtual bool | GetHasObjects () |
bool | GetHideOverlappedText () |
virtual HSelectionHighlightMode | GetHighlightMode () |
HSelectionSet * | GetHighlightSelection () |
HObjectManager * | GetHObjectManager () |
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 () |
HMarkupManager * | GetMarkupManager () |
float | GetMaximumUpdateTime () |
virtual HBaseModel * | GetModel () |
HC_KEY | GetModelKey () |
float | GetMouseWheelSensitivity () |
HBaseOperator * | GetOperator () |
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 () |
HSelectionSet * | GetSelection () |
virtual bool | GetShadowIgnoresTransparency () |
virtual bool | GetShadowLightDirection (HPoint *direction=0) |
HC_KEY | GetShadowMapSegmentKey () |
HShadowMode | GetShadowMode () |
bool | GetShadowRegenerationMode () |
HShadowRenderingMode | GetShadowRenderingMode () |
HSharedKey * | GetSharedKey () |
bool | GetSmoothTransition () |
float | GetSmoothTransitionDuration () |
bool | GetSplatRendering () |
int | GetSplatSize () |
SplatSymbol | GetSplatSymbol () |
bool | GetSpritingMode () |
bool | GetSuppressUpdate () |
bool | GetSuppressUpdateTick () |
bool | GetTextAntialiasing () |
HTouchManager * | GetTouchManager () |
bool | GetTransparentSelectionBoxMode () |
HUndoManager * | GetUndoManager () |
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) |
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
-
model A 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 alias A character pointer denoting the HOOPS alias representing the driver instance segment encapsulated by this HBaseView object driver_type A 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_name A 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_handle This 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. colormap This 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_override This identifies a pointer to a clip override array. window_handle_2 This identifies a window handle to be used for use window id2. driver path If provided this driver path will be used rather than an internally generated one.
◆ ~HBaseView()
|
virtual |
Deletes the HOOPS segment tree and operator/event/selection/framerate-support objects associated with this view
Member Function Documentation
◆ AdjustAxisWindow()
|
virtual |
This method adjusts the size of the axis triad to keep it as a constant size.
- Parameters
-
axis_window_pixels_in The 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_in The screen space rectangle of the drawing context. This parameter is optional.
◆ AdjustAxisWindowCallback()
|
static |
This function is used as a callback to dynamically adjust the axis window.
◆ AdjustShadowPlane()
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.
◆ AdjustWindowCallback()
|
static |
This function is used as a callback to dynamically adjust the HAbsoluteWindow's.
◆ Animate()
|
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_steps Number of times that the scene should be updated animate_flags Specifies what to animate. MaxRotation Degrees 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 |
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_message Indicates that a message should be sent to the emit_message_function smooth_camera_transition Indicates 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()
|
inlinevirtual |
Call this method to clear that flag that changes have occurred in the geometry. Update() calls this method.
◆ 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 |
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()
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.
◆ DeleteByKeyFromMessage()
|
virtual |
This method has been deprecated. DeleteByKeyFromMessage is the function that will receive any messages which originate in a EmitDeleteByKey message.
- Parameters
-
in_data contains the key to the object to be selected data_length length of the in_data array
Referenced by HDeleteByKeyMessageHandler::ProcessMessage().
◆ DeleteSelectionList()
|
virtual |
This method deletes the items in the HSelectionSet object associated with this view.
- Parameters
-
emit_message Pass to indicate that a message should be sent to the emit_message_function
Referenced by HSelectMessageHandler::ProcessMessage().
◆ 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 |
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 |
Handles the dynamic highlighting logic.
- Parameters
-
mouse_pos the cursor position in window space.
◆ EmitDeleteByKeyMessage()
|
virtual |
This method has been deprecated. EmitDeleteByKeyMessage sends a message with the key to an object to be deleted.
- Parameters
-
key A HOOPS key denoting segment to be deleted.
◆ 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 |
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 |
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 |
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
-
segment The segment within the model which the user wants the HSF data to be inserted into. in_data The binary HSF data. data_length The length of the in_data array.
◆ EmitSegment()
|
virtual |
This method has been deprecated. Emits the hsf data of the segment to the peers in the collabrative session if any.
- Parameters
-
key A HOOPS key denoting the segment to be emitted. emit_contents_only If 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 |
This method has been deprecated. EmitSelectMessage emits a message to the HNet server telling all other clients to select an object.
- Parameters
-
key key to the HOOPS/3dGS object to be selected isSelect boolean value indicating whether or not the object is already selected
◆ EmitSetModellingMatrixMessage() [1/2]
|
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
-
key key to the segment that the modelling matrix should be applied to.
◆ EmitSetModellingMatrixMessage() [2/2]
|
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()
|
inline |
◆ 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
-
enable Whether to enable or disable the target framerate. target The desired target framerate. threshold The minimum size of geometry to be drawn. steps The 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 |
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
-
FileName A null terminated string of the complete file path for the operation. handler A pointer to an instance of a subclassed HInputHandler implementing the input operation need. options An 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]
|
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
-
FileName A null terminated string of the complete file path for the operation. handler A pointer to an instance of a subclassed HInputHandler implementing the input operation need. options An 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 |
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
-
FileName A null terminated string of the complete UNICODE file path for the operation. handler A pointer to an instance of a subclassed HInputHandler implementing the input operation need. options An 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
-
FileName A null terminated string of the complete file path for the operation. handler A pointer to an instance of a subclassed HOutputHandler implementing the output operation need. options An 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]
|
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
-
FileName A null terminated string of the complete file path for the operation. handler A pointer to an instance of a subclassed HOutputHandler implementing the output operation need. options An 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_key The 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 |
This resets the camera so that it views the extents of the scene. It does not call Update().
- Parameters
-
center_out A pointer to a 3d point. If a non-null pointer is passed, then the new camera target position is returned.
◆ FitWorldExact()
|
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_out Pass a pointer to an HPoint if you want this method to return the center of the scene viewed by the camera.
◆ Flush()
|
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_message Pass true if you want a message emitted telling other clients to 'Flush' as well or false if no message should be emitted.
◆ FlushFromMessage()
|
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_data Not referenced in this method. data_length Not referenced in this method.
Referenced by HFlushBaseViewMessageHandler::ProcessMessage().
◆ FlushProgressBar()
void HBaseView::FlushProgressBar | ( | ) |
This method clears outs the progress bar window.
◆ 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()
|
inlinevirtual |
- Returns
- True if geometry has changed since the last update.
◆ GetAllowInteractiveCutGeometry()
|
inline |
- Returns
- True if cut geometry will be rendered during object manipulation or false if it will not be.
◆ GetAllowInteractiveShadows()
|
inline |
- Returns
- True if shadows will be drawn during object manipuation or false if they won't be.
◆ GetAnnotationResize()
|
inline |
- Returns
- True if annotation resizing is enabled and false if otherwise.
◆ GetAntialiasing()
|
inline |
- Returns
- A pointer to an HUtilityAntialiasing object.
◆ GetAxisMode()
|
inline |
- Returns
- The current axis mode.
◆ 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()
|
inline |
This method sets the key of the segment used to store temporary bounding boxes for the scene.
◆ GetCamera() [1/2]
|
virtual |
This method populates the parameters passed by the the caller with the definition of the camera currently in use.
- Parameters
-
pos Returns the HPoint defining the camera position. tar Returns the HPoint defining the camera target. up Returns the HPoint defining the camera up vector. fieldx Returns 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. fieldy Returns 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. *proj Returns the projection mode of camera, 'orthographic, 'perspective' and 'stretched' are all valid options.
◆ GetCamera() [2/2]
|
virtual |
◆ 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
-
option Returns 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()
|
inline |
- Returns
- A pointer to the HConstantFrameRate object for this view.
◆ GetCPFaceVisibility()
|
inline |
- Returns
- A boolean denoting the visibility of cutting-plane intersection faces.
◆ 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()
|
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()
|
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
-
plane The 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()
|
inline |
- Returns
- A boolean denoting the visibility of the cutting plane.
◆ GetDefaultLightKey()
|
inline |
- Returns
- The key of the default light for the scene.
◆ 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()
|
inline |
This method controls whether fit world will acknowledge sub-entity visibilities. This will only work if fast fit world is disabled.
- Parameters
-
fw if true detailed fit world will be used.
◆ 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()
|
inline |
- Returns
- A string denoting the fully rooted pathname of the driver instance segment.
◆ GetDriverType()
|
inline |
- Returns
- A string denoting the driver type; e.g. msw, opengl, x11.
◆ GetDynamicHighlighting()
|
inline |
- Returns
- True to indicate that dynamic highlighting is turned on or false if it is turned off.
◆ GetEmitMessageFunction()
|
inline |
This method has been deprecated.
- Returns
- An HBaseViewEmitMessageFunction pointer to the emit_message_function.
◆ 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()
|
inline |
This method controls whether fast fit world will be used. Note: a fast fit world may be looser.
- Parameters
-
fw if 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_fast if true, fast marker drawing will be used, otherwise nice marker drawing will be used.
◆ GetFirstUpdate()
|
inline |
- Returns
- true if the first update has occurred, false otherwise.
◆ 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
-
option Returns all driver options relevant to frame buffer effects. border Returns 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()
|
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()
|
inline |
Queries whether hardware acceleration will be used for anti-aliasing.
◆ GetHasObjects()
|
inlinevirtual |
- Returns
- True if the scene has segments grouped as object and/or has handles in it.
◆ GetHideOverlappedText()
|
inline |
- Returns
- The value of the flag indicating whether overlapped text should be hidden. This method determines the visibility of overlapped text.
- Parameters
-
hide Pass true to hide overlapped text or false to show it.
◆ GetHighlightMode()
|
inlinevirtual |
- Returns
- The selection highlight mode
◆ 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()
|
inline |
This method sets the key of the link which includes the HBaseModel segment into the scene.
Referenced by HSelectionSetOOC< SelectionSet >::UpdateSelection().
◆ GetInitialCameraSet()
|
inline |
- Returns
- True if the initial camera has been set or false if it hasn't been set.
◆ GetInvertMouseWheelZoom()
|
inlinevirtual |
- Returns
- True if we are inverting the default direction of the camera zoom which results from a mouse wheel event.
◆ GetIsoDefault()
◆ GetKeyState()
bool HBaseView::GetKeyState | ( | unsigned int | key, |
int & | flags | ||
) |
This function indicates whether a key is currently pressed.
- Parameters
-
key the character in question. flags additional flags.
- Returns
- true if key is depressed, false otherwise.
◆ GetLightCount()
|
inline |
This method returns the number of lights currently set in the scene.
- Returns
- The number of lights.
◆ 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()
|
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()
|
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()
|
inline |
- Returns
- A pointer to the current operator.
◆ 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()
|
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()
|
inline |
- Returns
- True if the camera is currently recording or false if it isn't recording.
◆ GetRelatedSelectionLimit()
|
virtual |
- Returns
- The current related selection limit on the view.
◆ GetRenderMode()
|
inline |
- Returns
- An enumerated type denoting the render mode for this view. The default is HRenderGouraud.
◆ GetRespectSelectionCulling()
|
virtual |
- Returns
- True if the selection culling mode is set to "maximum extents" or false otherwise.
◆ 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()
This function retrieves the scene extents.
- Parameters
-
min the minimum values for the scene extents. Passed by reference. Returned to user. max the maximum values for the scene extents. Passed by reference. Returned to user.
◆ GetSelection()
|
inline |
- Returns
- A pointer to the HSelectionSet object for this view.
◆ GetShadowIgnoresTransparency()
|
virtual |
Shows whether or not transparency is considered when casting simple shadow.
◆ GetShadowLightDirection()
|
virtual |
This method allows you to set a custom light direction for simple shadows.
- Parameters
-
direction A 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()
|
inline |
- Returns
- The current shadow mode.
◆ 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()
|
inline |
- Returns
- A pointer to m_pSharedKey which is used to map the keys of HOOPS/3dGS objects contained in different HBaseView objects.
◆ 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
-
onoff Pass true to turn on smooth transition. Pass false to turn it off.
◆ GetSmoothTransitionDuration()
|
inline |
- Returns
- The length of the smooth transition in seconds.
◆ GetSplatRendering()
|
inline |
Queries the state of splat rendering of markers.
◆ GetSplatSize()
|
inline |
- Returns
- The size of marker splats in wsu.
◆ GetSplatSymbol()
|
inline |
- Returns
- The symbol used for marker splats.
◆ GetSpritingMode()
|
inline |
- Returns
- True if spriting is enabled and false if otherwise.
◆ GetSuppressUpdate()
|
inline |
- Returns
- The value of the suppress update flag. If the value is true, then no updates will be made.
◆ GetSuppressUpdateTick()
|
inline |
- Returns
- The value of the suppress update flag. If the value is true, then no updates will be made.
◆ GetTextAntialiasing()
|
inline |
- Returns
- True if anti-aliasing for text is enabled and false if otherwise.
◆ GetTouchManager()
|
inline |
- Returns
- A pointer to the HTouchManager object which handles multi-touch events.
◆ 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()
|
inline |
Used to indicate whether an update is currently in progress.
◆ 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()
This method returns the view axis vectors.
- Parameters
-
front_axis Returns the front - back axis. top_axis Returns the top - bottom axis.
◆ GetViewKey()
|
inline |
This method sets the key of the HOOPS driver instance segment.
Referenced by HOpSelectAreaOOC< SelectionSet >::OnLButtonUp(), and HSelectionSetOOC< SelectionSet >::UpdateSelection().
◆ 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()
|
inline |
- Returns
- The current view update mode.
◆ GetVisibilitySelectionMode()
|
virtual |
- Returns
- True if the visibility selection is enabled.
◆ GetWindowColor() [1/3]
void HBaseView::GetWindowColor | ( | HPoint & | color_out | ) |
◆ GetWindowColor() [2/3]
Use this method to get the top and bottom RGB values of the current window's background.
- Parameters
-
color_top Returns 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_bottom Returns 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]
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_top Returns 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_bottom Returns 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. percentage Returns the percentage the gradient extends in the vertical direction.
◆ 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_material Returns the raw color string for the window background out_pattern Returns the raw pattern string for the window pattern
◆ GetXSize()
|
inline |
- Returns
- The window width in pixels. If zero is returned, an update needs to be done.
◆ GetYSize()
|
inline |
- Returns
- The window height in pixels. If zero is returned, an update needs to be done.
◆ HasInitialView() [1/2]
|
inline |
- Returns
- true if there is an initial view on the scene.
◆ HasInitialView() [2/2]
|
inline |
Is there an initial view on the scene? Used primarily for hsf streaming.
◆ HaveMarkupManager()
|
inline |
- Returns
- A true if we a HMarkupManager object.
◆ 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
-
hevent The event to inject
◆ InsertHSFData()
|
virtual |
This method has been deprecated. InsertHSFData inserts HSF data into a named segment in the model tree.
- Parameters
-
segment The segment in the base of the model tree that the HSF data should be inserted. in_data The binary HSF data. data_length The length of the binary HSF data. emit_message Pass true to indicate that this data should be shared with other members of a HNet session.
◆ InsertHSFDataFromMessage()
|
virtual |
This method has been deprecated. InsertHSFDataFromMessage is a function to insert HSF data in a scene.
- Parameters
-
in_data The binary HSF Data. data_length The length of the in_data array.
Referenced by HInsertHSFDataMessageHandler::ProcessMessage().
◆ InternalUpdate()
|
virtual |
This method checks the flags related to updating the scene and then calls #HC_Update_Display.
◆ 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()
|
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
-
signal event which is to be notified signal_data data associated with this event to be passed to the subscribers.
◆ ObjectMovedEvent()
The event handler that gets triggered when an object is moved usually as a result of an animation.
- Parameters
-
view A pointer to HBaseView object. key The key of the moved object. pos The position of moved object which is not always available.
- Returns
- Whether the event passed or consumed.
◆ OnKeyDown()
|
virtual |
This function is called when a key is pressed.
◆ OnKeyUp()
|
virtual |
This function is called when a key is released.
◆ OnLButtonDblClk()
|
virtual |
This method handles the left button double click event for object selection and setting up handles for object manipulation.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnLButtonDown()
|
virtual |
This method handles the left button down event for axis based camera manipulation.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnLButtonDownAndMove()
|
virtual |
This method handles the left button down and move event for dynamic highlighting of geometry.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnLButtonUp()
|
virtual |
This method handles left button up events finalizing any object selection activity and camera manipulation.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnLRButtonDownAndMove()
|
virtual |
Currently not handled.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnMButtonDownAndMove()
|
virtual |
Currently not handled.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnMouseMove()
|
virtual |
This method handles mouse move events.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnMouseWheel()
|
virtual |
This method handles mouse wheel events for camera manipulation.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnNoButtonDownAndMove()
|
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
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnRButtonDownAndMove()
|
virtual |
Currently not handled.
- Parameters
-
hevent An HEventInfo object containing information about the current event.
- Returns
- An HOperatorReturn indicating the status of the event.
◆ OnSetAxisMode()
|
virtual |
This method does the actual work of settig the axis mode. Users should use SetAxisMode().
- Parameters
-
mode The mode in which you wish the axis triad to appear.
◆ PrepareForCameraChange()
|
virtual |
This method is called before a camera change.
◆ 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
-
alias A character pointer denoting the HOOPS alias representing the driver instance segment encapsulated by this HBaseView object driver_type A character pointer denoting the type of HOOPS driver instance that should be created to correspond with this HBaseView object instance_name A 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_handle This 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. colormap This 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_override This identifies a pointer to a clip override array. window_handle_2 This identifies a window handle to be used for use window id2. debug_flags The optional debug flags passed to #HC_Set_Driver_Options().
◆ 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()
|
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
-
sname The segment name on the view that contains the camera settings for the axis display.
◆ SelectFromMessage()
|
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_data data containing the selection information data_length length of the in_data array
Referenced by HSelectMessageHandler::ProcessMessage().
◆ SetAllowInteractiveCutGeometry()
|
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
-
onOff Pass true to allow the rendering of cut geometry during object manipulation or false to not draw it.
◆ SetAllowInteractiveShadows()
|
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
-
onOff Pass 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
-
value annotation resizing on/off
◆ SetAxisManipulateOperator()
|
virtual |
The method sets operator for axis based camera manipulation.
- Parameters
-
op A pointer the operator to replace existing operator with.
◆ SetAxisMode()
|
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
-
mode The 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
-
cull If the value is true, backplane will be enabled. If the value is false, it will be disabled.
◆ SetBBoxGeometryKey()
|
inline |
- Returns
- The key of the segment used to store the view's cutting planes.
◆ SetCamera() [1/2]
|
virtual |
This method sets the camera for the scene.
- Parameters
-
pos A HPoint defining the camera position. tar A HPoint defining the camera target. up A HPoint defining the camera up vector. fieldx The minimum amount of the scene that should be viewable in the horizontal direction about the camera target in object space units. fieldy The minimum amount of the scene that should be viewable in the vertical direction about the camera target in object space units. *proj projection mode of camera, 'orthographic, 'perspective' and 'stretched' are all valid options.
◆ SetCamera() [2/2]
|
virtual |
This method sets the camera on the scene.
- Parameters
-
camera HCamera object defining the camera.
◆ SetCameraChanged()
|
inlinevirtual |
Use this method to indicate if the camera has changed.
- Parameters
-
val Pass true to indicate the camera has changed or false if the camera has not changed.
◆ SetCameraFromMessage()
|
virtual |
This method has been deprecated. This is the method that HNet calls to set the camera on the scene.
- Parameters
-
*data A character string containing the camera definition. data_length The 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
-
onoff Pass true to turn on color index interpolation or false to turn it off. isolines Pass 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
-
onoff Pass true to turn on color interpolation or false to turn it off.
◆ SetConstantFrameRateObject()
|
inline |
This method sets the HConstantFrameRate object for this view.
- Parameters
-
cf A pointer to the HConstantFrameRate object.
◆ SetConstructionKey()
|
inline |
This method sets the key of the segment used to store temporary construction geometry.
- Parameters
-
construct_key The 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
-
lines Pass true if the intersection lines should be drawn or false if they shouldn't be drawn. faces Pass 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
-
cullingthreshold The culling threshold value given in pixels.
◆ SetCurrentOperator()
|
inline |
Deprecated. Please use SetOperator().
◆ SetCutGeometryVisibility()
void HBaseView::SetCutGeometryVisibility | ( | HCutGeometryVisibility | visibility | ) |
Use this method to set the cut geometry visibility.
- Parameters
-
visibility The cut geometry visibility you want to set for the scene.
◆ SetCuttingPlaneGeomKey()
|
inline |
This method sets the key of the segment used to store geometry representing cutting plane intersections.
- Parameters
-
cuttingplanegeom_key Pass 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()
|
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
-
onoff Pass 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
-
state Pass true if cutting planes exist or false if they don't.
◆ SetCuttingPlanesKey()
|
inline |
This method sets the the key of the segment used to store the view's cutting planes.
- Parameters
-
cuttingplanes_key Pass 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
-
visible Pass true to indicate that cutting planes are visible.
◆ SetDebugZBuffer()
|
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 |
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
-
selectionproximity the 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
-
onoff whether or not to use depth of field strength multiplier 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
-
near the near plane distance from the camera far the far plane distance from the camera
◆ SetDetailedFitWorld()
|
inline |
This method controls whether fit world will acknowledge sub-entity visibilities. This will only work if fast fit world is disabled.
- Parameters
-
fw if true detailed fit world will be used.
◆ SetDetailSelection()
|
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
-
onoff Pass true if edge and line weight/pattern should be taken into account or false if they shouldn't be.
◆ SetDisplayHandlesOnDblClk()
|
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
-
mode Pass 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
-
type Pass 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_buffer If 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
-
state Pass true to turn on dynamic highlighting or false to turn it off.
◆ SetEmitMessageFunction()
|
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_function A pointer to the emit message function. user_data Users 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()
|
inline |
This method controls whether fast fit world will be used. Note: a fast fit world may be looser.
- Parameters
-
fw if 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 |
This method sets the font size on the scene key.
- Parameters
-
font_size A character pointer containing the font size information (e.g. "10 oru" or "0.1 sru"). emit_message Pass true to indicates that a message should be sent to the emit_message_function
◆ SetFontSizeFromMessage()
|
virtual |
This method sets the font size on the scene key based on the information in the message.
- Parameters
-
in_data A character pointer containing the font size information (e.g. "10 oru" or "0.1 sru"). data_length The size of the message.
Referenced by HSetFontSizeMessageHandler::ProcessMessage().
◆ SetForceFastHiddenLine()
|
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
-
force On/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
-
mode Framerate mode (off, target, fixed) framerate The desired framerate (in seconds). cullingthreshold The minimum size of geometry to be drawn. enablelods Allow lods in framerate (only applies if FramerateMode is FramerateTarget) steps The number of steps to reduce the threshold (only applies if FramerateMode is FramerateTarget) cutoff The pixel size to trigger culling
◆ 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 |
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
-
mode An enumerated type indicating the world handedness. emit_message Indicates that a message should be sent to the emit_message_function
◆ SetHandednessFromMessage()
|
virtual |
This method sets the handedness of the world coordinate system based on the information in the message.
- Parameters
-
in_data A character pointer containing the handedness information. data_length The size of the message.
Referenced by HSetHandednessMessageHandler::ProcessMessage().
◆ SetHandednessFromModel()
|
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_model If a handedness setting is in the model, remove it after setting it on the view. emit_message Indicates 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()
|
inlinevirtual |
This method sets the handle operator for this view.
- Parameters
-
op A 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
-
cutoff The hard extent value given in pixels.
◆ SetHardwareAntialiasing()
|
inline |
Controls whether hardware acceleration will be used for anti-aliasing.
◆ SetHasObjects()
|
virtual |
This method tells the view if there are objects in the scene.
- Parameters
-
hasobjects Pass true to indicate that the scene has segments that are grouped as objects and/or has handles.
◆ SetHighlightMode()
|
virtual |
This method sets the selection highlight mode.
- Parameters
-
m The new highlight mode as described by HSelectionHighlightMode.
◆ SetIncludeLinkKey()
|
inline |
- Returns
- The key of the segment used to represent the top of the scene's segment hierarchy.
◆ SetInitialCamera()
|
virtual |
This method sets the intial camera for the scene usually after loading.
- Parameters
-
pos A HPoint defining the camera position. tar A HPoint defining the camera target. up A HPoint defining the camera up vector. fieldx The minimum amount of the scene that should be viewable in the horizontal direction about the camera target in object space units. fieldy The minimum amount of the scene that should be viewable in the vertical direction about the camera target in object space units. *proj projection mode of camera, 'orthographic, 'perspective' and 'stretched' are all valid options.
◆ SetIntersectPolylinesKey()
|
inline |
This method sets the key of the segment used to store intersection polylines.
- Parameters
-
interesetpolylines_key Pass the segment key you want HOOPS to store intersection polylines under.
◆ SetInvertMouseWheelZoom()
|
inlinevirtual |
Use this method to control the direction of a zoom resulting from a mouse wheel event
- Parameters
-
val Pass true if you want to invert the zoom direction resulting from a camera wheel event.
◆ SetIsoDefault()
|
inline |
◆ SetKeyStateCallback()
|
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
-
count the number of lights.
◆ SetLightFollowsCamera()
void HBaseView::SetLightFollowsCamera | ( | bool | onoroff | ) |
Use this method to indicate if you want the light to follow the camera.
- Parameters
-
onoroff Pass true for the light to follow the camera or false if it should not.
◆ SetLightsKey()
|
inline |
This method sets the key of the segment containing the lights for the scene.
- Parameters
-
lights_key Pass 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
-
onoff Line 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
-
onoff If 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
-
val The 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()
|
inline |
This method sets the HMarkupManager object for the view.
- Parameters
-
markup A pointer to an HMarkupManager object.
◆ SetMaximumUpdateTime()
|
inline |
This method lets you set the ceiling on the time it takes for an update to be performed.
- Parameters
-
mut The upper limit on the duration of a update in seconds.
◆ SetModellingMatrixFromMessage()
|
virtual |
This method receives all SetModellingMatrix messages.
- Parameters
-
in_data this contains the modelling matrix information data_length length of the in_data array
Referenced by HSetModellingMatrixMessageHandler::ProcessMessage().
◆ SetNavCube()
|
inline |
This method informs the view of the visibility of the navcube.
- Parameters
-
onoff Pass 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
-
mode If true, occlusion culling will be used. If false, it will not. UseOctree If 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
-
NewOperator A 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
-
HandednessMode This mode will help HOOPS determine which the inside and outside of a given face.
◆ SetProgressBarKey()
|
inline |
This method sets the key of the segment that HBaseView uses to create the progress bar for loading files under.
- Parameters
-
view_key The 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
-
mode The 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
-
rc Pass true to enable camera recording or false to disable it.
◆ SetReferenceSelection()
|
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_ref if true, quickmoves highlighting will be used, otherwise conditional highlighting will be.
◆ SetReflectionPlane()
|
virtual |
This method sets up the reflection plane in the current view.
- Parameters
-
state whether the reflection plane should be on or off. opacity the opacity of the reflection. fading if true, the reflection will fade as it moves away from the camera. attenuate determines whether the reflection should fade as the model moves away from it. hither if attenuate is true, this is the near plane where attenuation begins. yon if attenuate is true, this is the far plane. attenuation occurs linearly between hither and yon. blur indicates whether the reflection will be blurred. blur_level the amount of blurring applied.
◆ SetRelatedSelectionLimit()
|
virtual |
This method sets the max number of items that each selection will hit.
- Parameters
-
limit Pass in NO_RELATED_SELECTION_LIMIT for no related selection limit.
◆ SetRenderMode()
|
virtual |
This method has been deprecated. This method sets the render mode for this view to NewRenderMode. The default is HRenderGouraud.
- Parameters
-
NewRenderMode The new render mode. emit_message Pass true to indicates that an HNet message should be generated/sent.
◆ SetRenderModeFromMessage()
|
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_data the data containing the requested rendermode. data_length The length of the in_data array.
Referenced by HSetRenderModeMessageHandler::ProcessMessage().
◆ SetRespectSelectionCulling()
|
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
-
onoff Pass true to cull selected geometry in the same manner as unselected geometry, or false for selected geometry not to be culled.
◆ SetSceneBounding()
This function sets a scene bounding.
- Parameters
-
min the minimum values of the bounding max the maximum values of the bounding
◆ SetSceneKey()
|
inline |
This method sets the key of the segment used to represent the top of the scene's segment hierarchy.
- Parameters
-
scene_key The key of the segment to use at the top-level scene segment.
◆ SetSelection()
|
inline |
This method sets the selection object for this view.
- Parameters
-
selection A pointer the HSelectionSet object you want associated with this view.
◆ SetShadowBlurring()
|
virtual |
This method sets how blurring will be done on shadows.
- Parameters
-
blur A number between 1 to 31 indicating the level of blurring (softening) that is applied to the shadow
◆ SetShadowColor()
|
virtual |
This method sets the shadow color.
- Parameters
-
color The 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 |
Toggles whether or not transparency is considered when casting simple shadow.
◆ SetShadowLightDirection()
|
virtual |
This method allows you to set a custom light direction for simple shadows.
- Parameters
-
explicit_light Whether or not to use an explicit light. If false, a light direction will be automatically generated. direction A pointer to a HPoint object that determines the direction of the light. Passing null is equivalent to passing false for explicit_light.
◆ SetShadowMode()
|
virtual |
This method updates the current shadow of model in the current view.
- Parameters
-
sm The new shadow mode that you want the view to use. saveMode Pass true to save the mode internally independent of the HOOPS database.
◆ SetShadowParams() [1/2]
|
protected |
This method sets the plane, light position, color and filter for the shadow.
- Parameters
-
shadow_plane An HPlane (a,b,c,d) value representing the shadow plane. light_pos An HPoint (x,y,z) value representing light position for shadow. color An 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. filter A string value the amount of blurring for the shadow.
◆ SetShadowParams() [2/2]
|
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
-
shadowObj The HShadow object representing the shadow
◆ SetShadowRegenerationMode()
|
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
-
onoff Pass true to turn shadow regeneration on or false to turn it off.
◆ 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
-
mode The shadow rendering mode you want HOOPS to use.
◆ SetShadowResolution()
|
virtual |
This method sets the shadow resolution.
- Parameters
-
res The 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
-
signal Event for which we are requesting notification (see enum HSignal in HGlobals.h). callback The function to be called when the event happens. user_data Data 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()
|
inline |
This method determines the length of the smooth transition in seconds.
- Parameters
-
duration The 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()
|
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
-
onoff Pass true if you wish to turn on spriting. Pass false, if you wish to turn it off.
◆ SetSuppressUpdate()
|
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
-
suppress If this value is set to true, then no updates will be made.
◆ SetSuppressUpdateTick()
|
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
-
suppress If 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
-
onoff text 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
-
text A text string that describes how transparency should be rendered as describe in HC_Set_Rendering_Options. fast_z_sort If the sorting algorithm is z-sort only, this controls whether to use the fastest or nicest option.
◆ SetTransparentSelectionBoxMode()
|
inline |
Determines whether the HOpSelectArea operator should draw its area with a transparent rectangle as opposed to just an outline.
- Parameters
-
mode If 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()
|
inline |
Use this method to tell HOOPS if an update was interrupted.
- Parameters
-
val Pass 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()
|
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
-
view A pointer to the HBaseView object. key The key of the object to set up the handles for. complex Pass true to create complex handles or false to create simple ones.
- Returns
- An event code that states whether the event was process.
◆ 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()
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_axis A pointer to the front - back axis. top_axis A pointer to the top - bottom axis.
◆ SetViewKey()
|
inline |
- Returns
- The key to the link which includes the HBaseModel segment into the scene.
◆ SetViewMode()
|
virtual |
This method sets the view mode for this view. The default is HViewXY.
- Parameters
-
mode Pass the new view mode. invert Pass true if you want to set the inverted view of the passed mode. fitworld Pass 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
-
level The 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
-
mode The new view update mode ViewUpdateMode::Continuous, ViewUpdateMode::OnDemand or ViewUpdateMode::Deferred. rate Rate, in ticks, in which updates are generated.
◆ SetVisibilitySelectionMode()
|
virtual |
This method enables or disables visibility selection mode.
- Parameters
-
onoff Pass true for object visibility is taken into account or false for object visibility not taken into account.
◆ SetWindowColor() [1/2]
|
virtual |
This method sets the window color.
- Parameters
-
rgb An 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_message Pass true to indicate that a message should be sent to the emit_message_function
◆ SetWindowColor() [2/2]
|
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
-
rgbtop An 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. rgbbottom An 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_message Pass true to indicate that a message should be sent to the emit_message_function
◆ SetWindowColorFromMessage()
|
virtual |
This method sets the window color based on the information in the message.
- Parameters
-
in_data A character pointer containing the window color information. data_length The size of in_data.
Referenced by HSetWindowColorMessageHandler::ProcessMessage().
◆ SetWindowColorRange()
|
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
-
rgbtop An 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. rgbbottom An 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. percentage The percentage to extend gradient in the vertical direction. emit_message Pass true to indicate that a message should be sent to the emit_message_function
◆ SetWindowMaterial()
|
virtual |
This method give the window a texture.
- Parameters
-
name The name of a texture material emit_message Pass true to indicate that a message should be sent to the emit_message_function
◆ SetWindowspaceKey()
|
inline |
This method sets the key of the segment used to hold window space attributes.
- Parameters
-
winspace_key The 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]
|
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
-
zoomlimit Pass 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 |
- Returns
- The key of the segment used to hold windowspace attributes.
◆ SmartFilterCircumcuboid()
|
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
-
segment The segment to start the bounding calculation. defaults The default visibility settings. bottomfrontleft Returns a point describing one end of the bounding circumcuboid. topbackright Returns a point describing the other end of the bounding circumcuboid.
◆ 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 |
This function can be used to force an update on a given view.
- Parameters
-
view_pointer a pointer to an HBaseView object.
◆ StreamProgressCallback()
|
static |
The ProgressBarCallback usually called from streaming toolkit.
- Parameters
-
so_far The amount of data received. expected The amount Of data expected. user_data The user data.
- Returns
- True if the event was processed.
◆ UnSetSignalNotify()
void HBaseView::UnSetSignalNotify | ( | unsigned long | cookie | ) |
Rescind a signal request notification.
- Parameters
-
cookie the unique identifier of the request to be cancelled.
◆ 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()
|
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
-
antialias If true, then an anti-aliased version of the scene will be drawn. forceUpdate If 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_color An RGB triplet where each value is in [0.0, 1.0].
◆ UpdateHighlighting()
|
virtual |
This method updates the highlighting of selected objects in all HSelectionSets owned by this view.
◆ UpdateInternal()
|
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
-
antialias If true, then an anti-aliased version of the scene will be drawn. force_update If true, then an update will be forced.
◆ UpdateTick()
|
static |
The Tick function called from the timer manager.
- Parameters
-
request_time The time in which the function requested a call. actual_time The actual time the function was called. user_data The user data.
- Returns
- True if the event was processed.
◆ ZoomToExtents()
|
virtual |
◆ ZoomToInitialCamera()
|
virtual |
This functions zooms to the original camera settings which have been specified when the model was initially loaded.
Member Data Documentation
◆ GetEventCheckerCallback
|
inline |
- Returns
- A pointer to an event checker callback function.
◆ GetKeyStateCallback
|
inline |
- Returns
- A pointer to a keyboard query callback function.
◆ m_AxisTriadKey
|
protected |
Key of the segment which contains the axis triad.
◆ m_AxisWindowSize
|
protected |
The width and height of the axis triad, given as a number of pixels.
◆ m_bAllowInteractiveCutGeometry
|
protected |
The flag to allow interactive cut geometry mode.
◆ m_bAllowInteractiveShadows
|
protected |
The flag to allow interactive shadow mode.
◆ m_bAxisMode
|
protected |
Current axis display mode.
◆ m_bAxisTriadTransparencyAllowed
|
protected |
Allow/disallow portions of the axis triad to be alpha blended (regardless, window is still clear).
◆ m_bBeginShellSelection
|
protected |
Indicates if Shell Selection Mode is currently active.
◆ m_BBoxGeometryKey
|
protected |
Key of the segment which is used to draw geometry representing the bounding box of geometry being manipulated.
◆ m_bCameraChanged
|
protected |
The value is true if the camera changed between updates.
◆ m_bCPFaceVisibility
|
protected |
This member indicates the visibility setting of cutting plane intersection faces.
◆ m_bCPLineVisibility
|
protected |
This member indicates the visibility setting of cutting plane intersection lines .
◆ m_bCuttingPlaneRegeneration
|
protected |
Enables/Disables Cutting Plane Regeneration.
◆ m_bCuttingPlanesExist
|
protected |
Existence of cutting plane geometry.
◆ m_bCuttingPlanesVisibility
|
protected |
Visibility of transparent face representing the cutting plane.
◆ m_bFirstUpdate
|
protected |
A boolean indicating if a call to Update() has occurred.
◆ m_bForceFastHiddenLine
|
protected |
If this member is set to true, it forces fast hidden line mode overriding other settings.
◆ 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
|
protected |
Informs the view if overlapped text should be filtered. This causes a performance hit.
◆ m_bInitialCameraSet
|
protected |
A flag indicating if initial camera is set.
◆ m_bInvertMouseWheelZoom
|
protected |
A flag which indicate whether we should invert the zoom which results from a mouse wheel event.
◆ m_bLButtonDown
|
protected |
For internal use.
◆ m_bLightFollowsCamera
|
protected |
Indicates whether the light should follow the camera around; default is true.
◆ m_bLineAntialiasing
|
protected |
Enables/Disables line anti-aliasing.
◆ m_bMouseMove
|
protected |
For internal use.
◆ m_bNavCube
|
protected |
Informs the view if the navcube is on and needs to be updated.
◆ m_bRecordCamera
|
protected |
Indicates if camera recording mode is active.
◆ m_bShadowRegeneration
|
protected |
Enables/Disables shadow regeneration.
◆ m_bShadowRegenerationToggle
|
protected |
If enabled, shadow regeneration will be toggled back on during next update.
◆ m_bSmoothTransition
|
protected |
Enables/Disables smooth transition for non-interactive view changes.
◆ m_bSpritingAllowed
|
protected |
Allow/disallow spriting in operators.
◆ m_bTextAntialiasing
|
protected |
Enables/Disables text anti-aliasing.
◆ m_bTransparentSelectionBox
|
protected |
Indicates whether selection by area should draw a transparent rectangle or just its outline.
◆ m_bUpdateRequested
|
protected |
If the value is true, an update was requested. If the value is false, then no update was requested.
◆ m_ConstructionKey
|
protected |
Key of the segment with quickmoves attributes typically used for temporary geometry.
◆ 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
|
protected |
Key of the node of the segment which contains the cutting plane intersection geometry.
◆ 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
|
protected |
Selection Proximity for View.
◆ m_DisplayListType
|
protected |
They type of display lists used.
◆ m_FakeHLRSource
|
protected |
The key of the segment containing fake hidden line settings.
◆ m_FakeHLRStyle
|
protected |
The key of the fake hidden line style, if it is currently applied (should be invalid otherwise).
◆ m_FrontAxis
|
protected |
Front-Back Axis Vector used in SetViewMode.
◆ m_HighlightMode
|
protected |
This member stores the current highlighting mode.
◆ m_IdleTime
|
protected |
Time since the last event.
◆ m_InitialCamera
|
protected |
The camera settings for the initial camera.
◆ m_IntersectPolylinesKey
|
protected |
Key of the node of the segment which contains polylines of intersection (see HOpObjectClash operator).
◆ m_InUpdateInternal
|
protected |
The value is true if we are in UpdateInternal
◆ m_IsoDefault
◆ m_LightsKey
|
protected |
The key of the HOOPS segment containing the lights for this view.
◆ m_lIncludeLinkKey
|
protected |
This is the key which defines the link from the view segment to the HBaseModel segment.
◆ m_MaximumUpdateTime
|
protected |
Time beyond which updates should be cut off.
◆ m_OverwriteKey
|
protected |
Key of the segment associated with this view's scene. This is a subsegment of the View segment.
◆ m_pAntialiasing
|
protected |
A pointer to the anti-aliasing utility class.
◆ m_pConstantFrameRate
|
protected |
A pointer to the constant framerate object of this view.
◆ m_pDebugZBuffer
|
protected |
A pointer to the object associated with the active z buffer visualization window (if any).
◆ m_pEvent
|
protected |
A pointer to the current event of this view.
◆ m_pEventManager
|
protected |
A pointer to the event manager.
◆ m_pfEventChecker
|
protected |
A pointer to an event checker function.
◆ m_pfKeyState
|
protected |
A pointer to a keyboard query function .
◆ m_pHandleOperator
|
protected |
A pointer to the handle operator.
◆ m_pHighlight
|
protected |
A pointer to the highlight object of this view.
◆ m_pHImCuttingGeometry
|
protected |
A pointer to the object containing the cutting geometry .
◆ m_pManipulateOperator
|
protected |
Operator Instance used in axis based camera manipulation.
◆ m_pMarkupManager
|
protected |
A pointer to the markup manager class.
◆ m_pModel
|
protected |
Pointer to the HBaseModel object to be viewed.
◆ m_pObjectManager
|
protected |
A pointer to the object manager.
◆ m_pOperator
|
protected |
A pointer to the current operator of this view.
◆ m_ProgressBarKey
|
protected |
Key of the segment which contains the file load progress bar.
◆ m_pSelection
|
protected |
A pointer to the selection object of this view.
◆ m_pSharedKey
|
protected |
A pointer to Shared Key class.
◆ m_pUndoManager
|
protected |
A pointer to the undo manager.
◆ m_RenderMode
|
protected |
The current render mode.
◆ m_SceneKey
|
protected |
Key of the segment associated with this view's scene. This is a subsegment of the View segment.
◆ m_SceneLight
|
protected |
The key of the default distant light.
◆ m_ShadowMode
|
protected |
The current shadow mode.
◆ m_SmoothTransitionDuration
|
protected |
Duration of Smooth Transition.
◆ m_TopAxis
|
protected |
Top-Bottom Axis Vector used in SetViewMode.
◆ m_TouchManager
|
protected |
A pointer to the touch manager class.
◆ m_UpdateInterrupted
|
protected |
The value is true if update has been interrupted by GUI event, and false if update was not interrupted.
◆ m_ViewKey
|
protected |
Key of the HOOPS driver instance segment.
◆ m_ViewMode
|
protected |
The current view mode.
◆ m_ViewUpdateMode
|
protected |
The value of the update mode which can be continuous or on demand.
◆ m_WindowColorPercentage
|
protected |
This value determines how far the gradiated background extends into the vertical direction.
◆ 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: