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 const 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) |
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:
It includes interfaces for managing:
Indicates how the scene should be animated; obselete; animation should be performed using MVO's behavior/animation support.
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.
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. |
|
virtual |
Deletes the HOOPS segment tree and operator/event/selection/framerate-support objects associated with this view
|
virtual |
This method adjusts the size of the axis triad to keep it as a constant size.
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. |
|
static |
This function is used as a callback to dynamically adjust the axis window.
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.
|
static |
This function is used as a callback to dynamically adjust the HAbsoluteWindow's.
|
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.
animation_steps | Number of times that the scene should be updated |
animate_flags | Specifies what to animate. |
MaxRotation | Degrees Of Rotation |
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.
|
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.
emit_message | Indicates that a message should be sent to the emit_message_function, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients |
smooth_camera_transition | Indicates that the camera should smoothly transition from the last position to the new position. |
void HBaseView::cleanupSimpList | ( | ) |
This method frees the SimpList and all members.
|
inlinevirtual |
Call this method to clear that flag that changes have occurred in the geometry. Update() calls this method.
|
inline |
This method sets the update request flag to false indicating that you do not need the view to perform an update.
|
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.
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.
|
virtual |
This method has been deprecated. DeleteByKeyFromMessage is the function that will receive any messages which originate in a EmitDeleteByKey message.
in_data | contains the key to the object to be selected |
data_length | length of the in_data array |
Referenced by HDeleteByKeyMessageHandler::ProcessMessage().
|
virtual |
This method deletes the items in the HSelectionSet object associated with this view.
emit_message | Pass to indicate that a message should be sent to the emit_message_function, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients. |
Referenced by HSelectMessageHandler::ProcessMessage().
|
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.
|
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().
|
virtual |
Handles the dynamic highlighting logic.
mouse_pos | the cursor position in window space. |
|
virtual |
This method has been deprecated. EmitDeleteByKeyMessage sends a message with the key to an object to be deleted.
key | A HOOPS key denoting segment to be deleted. |
|
virtual |
This method has been deprecated. EmitDeleteSelectionListMessage emits a message to the HNet server telling all HNet clients to delete thei selection list.
|
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.
|
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.
|
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.
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. |
|
virtual |
This method has been deprecated. Emits the hsf data of the segment to the peers in the collabrative session if any.
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. |
|
virtual |
This method has been deprecated. EmitSelectMessage emits a message to the HNet server telling all other clients to select an object.
key | key to the HOOPS/3dGS object to be selected |
isSelect | boolean value indicating whether or not the object is already selected |
|
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.
key | key to the segment that the modelling matrix should be applied to. |
|
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.
|
inline |
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.
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. |
void HBaseView::EndShellSelection | ( | ) |
This method ends the shell selection mode.
void HBaseView::ExhaustiveUpdate | ( | ) |
Perform a thorough and full update.
|
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.
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. |
|
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.
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. |
|
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.
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. |
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.
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. |
|
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.
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. |
This method fits the camera to view the extents of the key passed in.
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.
seg_key | The key of the HOOPS segment denoting the top of the desired segment tree. |
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.
|
virtual |
This resets the camera so that it views the extents of the scene. It does not call Update().
center_out | A pointer to a 3d point. If a non-null pointer is passed, then the new camera target position is returned. |
|
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.
center_out | Pass a pointer to an HPoint if you want this method to return the center of the scene viewed by the camera. |
|
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.
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. |
|
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.
in_data | Not referenced in this method. |
data_length | Not referenced in this method. |
Referenced by HFlushBaseViewMessageHandler::ProcessMessage().
void HBaseView::FlushProgressBar | ( | ) |
This method clears outs the progress bar window.
|
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.
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References HC_KEY.
bool HBaseView::GetBackplaneCulling | ( | ) |
|
inline |
This method sets the key of the segment used to store temporary bounding boxes for the scene.
References HC_KEY.
|
virtual |
This method populates the parameters passed by the the caller with the definition of the camera currently in use.
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. |
|
virtual |
|
inlinevirtual |
bool HBaseView::GetColorIndexInterpolation | ( | char * | option = 0 | ) |
Call this method to find out if color index interpolation is set on the scene.
option | Returns either "on" or "isolines" if the color index interpolation is on. |
|
inline |
|
inline |
|
inline |
int HBaseView::GetCullingThreshold | ( | ) |
|
inline |
Obsolete function. Please use GetOperator().
HCutGeometryVisibility HBaseView::GetCutGeometryVisibility | ( | ) |
|
inline |
bool HBaseView::GetCuttingPlanesExist | ( | const char * | plane = 0 | ) |
This method determines if the cutting planes exist in the given segment.
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. |
|
inline |
|
inline |
References HC_KEY.
|
inlinevirtual |
|
inline |
This method controls whether fit world will acknowledge sub-entity visibilities. This will only work if fast fit world is disabled.
fw | if true detailed fit world will be used. |
|
virtual |
DisplayListType HBaseView::GetDisplayListType | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
This method has been deprecated.
|
inline |
This method has been deprecated.
HEventManager* HBaseView::GetEventManager | ( | ) |
|
inline |
This method controls whether fast fit world will be used. Note: a fast fit world may be looser.
fw | if true fast fit world will be used. |
bool HBaseView::GetFastMarkerDrawing | ( | ) |
This method controls whether marker drawing will bias toward performance or quality.
b_fast | if true, fast marker drawing will be used, otherwise nice marker drawing will be used. |
|
inline |
|
inline |
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).
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). |
float HBaseView::GetFramerate | ( | ) |
If a framerate is used, this returns the framerate out parameter. Otherwise this returns -1.
int HBaseView::GetFramerateCullingThreshold | ( | ) |
Returns the framerate culling threshold
FramerateMode HBaseView::GetFramerateMode | ( | ) |
Returns the framerate mode
int HBaseView::GetFramerateSteps | ( | ) |
Returns the number of steps to reduce the culling threshold if applicable. Otherwise this returns -1.
HandednessMode HBaseView::GetHandedness | ( | ) |
|
inlinevirtual |
int HBaseView::GetHardExtent | ( | ) |
|
inline |
Queries whether hardware acceleration will be used for anti-aliasing.
|
inlinevirtual |
|
inline |
hide | Pass true to hide overlapped text or false to show it. |
|
inlinevirtual |
|
inline |
HObjectManager* HBaseView::GetHObjectManager | ( | ) |
|
inline |
This method sets the key of the link which includes the HBaseModel segment into the scene.
References HC_KEY.
Referenced by HSelectionSetOOC< SelectionSet >::UpdateSelection().
|
inline |
|
inlinevirtual |
bool HBaseView::GetKeyState | ( | unsigned int | key, |
int & | flags | ||
) |
This function indicates whether a key is currently pressed.
key | the character in question. |
flags | additional flags. |
|
inline |
This method returns the number of lights currently set in the scene.
|
inline |
bool HBaseView::GetLodMode | ( | ) |
int HBaseView::GetLodThreshold | ( | ) |
HMarkupManager* HBaseView::GetMarkupManager | ( | ) |
Referenced by HMarkupMessageHandler::ProcessMessage().
|
inline |
This method shows the ceiling on the time it takes for an update to be performed.
|
inlinevirtual |
HC_KEY HBaseView::GetModelKey | ( | ) |
A helper function that allows developers to access the root of the model segment tree.
Referenced by HSelectionSetOOC< SelectionSet >::DeleteSelection(), and HSelectionSetOOC< SelectionSet >::SelectedPoints().
|
inline |
|
inline |
References HC_KEY.
|
inline |
References HC_KEY.
ProjMode HBaseView::GetProjMode | ( | ) |
This method gets the projection mode used to convert a 3-D scene into 2-D for viewing.
HQuickMovesMethod HBaseView::GetQuickMovesMethod | ( | ) | const |
|
inline |
|
virtual |
|
inline |
|
virtual |
|
inline |
This function tells you whether or not a scene bounding is set.
This function retrieves the scene extents.
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. |
|
inline |
|
virtual |
Shows whether or not transparency is considered when casting simple shadow.
|
virtual |
This method allows you to set a custom light direction for simple shadows.
direction | A pointer to a HPoint object that determines the direction of the light, will be null if unset. Returned to user. |
HC_KEY HBaseView::GetShadowMapSegmentKey | ( | ) |
|
inline |
|
inline |
HShadowRenderingMode HBaseView::GetShadowRenderingMode | ( | ) |
|
inline |
|
inline |
onoff | Pass true to turn on smooth transition. Pass false to turn it off. |
|
inline |
|
inline |
Queries the state of splat rendering of markers.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
HUndoManager* HBaseView::GetUndoManager | ( | ) |
|
inline |
Used to indicate whether an update is currently in progress.
|
inline |
bool HBaseView::GetViewActive | ( | ) |
This method returns the view axis vectors.
front_axis | Returns the front - back axis. |
top_axis | Returns the top - bottom axis. |
|
inline |
This method sets the key of the HOOPS driver instance segment.
References HC_KEY.
Referenced by HOpSelectAreaOOC< SelectionSet >::OnLButtonUp(), and HSelectionSetOOC< SelectionSet >::UpdateSelection().
|
inline |
HViewSelectionLevel HBaseView::GetViewSelectionLevel | ( | ) |
|
inline |
|
virtual |
void HBaseView::GetWindowColor | ( | HPoint & | color_out | ) |
Use this method to get the top and bottom RGB values of the current window's background.
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. |
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.
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. |
|
inline |
void HBaseView::GetWindowMaterial | ( | char * | out_material, |
char * | out_pattern | ||
) |
Use this method to get the raw color and pattern string for the current window.
out_material | Returns the raw color string for the window background |
out_pattern | Returns the raw pattern string for the window pattern |
|
inline |
|
inline |
|
inline |
|
inline |
Is there an initial view on the scene? Used primarily for hsf streaming.
|
inline |
|
virtual |
This method initializes the view. The startup default segment hierarchy associated with the HBaseView object is created and initialized.
void HBaseView::InitAntialiasing | ( | ) |
This method initializes the antialiasing logic.
void HBaseView::InjectEvent | ( | HEventInfo const & | hevent | ) |
This allows the injection of a synthetic event.
hevent | The event to inject |
|
virtual |
This method has been deprecated. InsertHSFData inserts HSF data into a named segment in the model tree.
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. |
|
virtual |
InsertHSFDataFromMessage is a function HOOPS/Net calls to insert HSF data in a scene.
in_data | The binary HSF Data. |
data_length | The length of the in_data array. |
Referenced by HInsertHSFDataMessageHandler::ProcessMessage().
|
virtual |
This method checks the flags related to updating the scene and then calls #HC_Update_Display.
|
inline |
This function invalidates (unsets) any current scene bounding.
bool HBaseView::IsFrameRateEnabled | ( | ) |
return The current state of the constant framerate setting
bool HBaseView::IsFramerateLodEnabled | ( | ) |
Returns true if and only if LODs are allowed in the framerate mode
|
inline |
void HBaseView::Notify | ( | int | signal, |
void * | signal_data = 0 |
||
) |
Notifies the appropriate subscribers about the event.
signal | event which is to be notified |
signal_data | data associated with this event to be passed to the subscribers. |
The event handler that gets triggered when an object is moved usually as a result of an animation.
view | A pointer to HBaseView object. |
key | The key of the moved object. |
pos | The position of moved object which is not always available. |
|
virtual |
This function is called when a key is pressed.
|
virtual |
This function is called when a key is released.
|
virtual |
This method handles the left button double click event for object selection and setting up handles for object manipulation.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
This method handles the left button down event for axis based camera manipulation.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
This method handles the left button down and move event for dynamic highlighting of geometry.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
This method handles left button up events finalizing any object selection activity and camera manipulation.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
Currently not handled.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
Currently not handled.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
This method handles mouse move events.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
This method handles mouse wheel events for camera manipulation.
hevent | An HEventInfo object containing information about the current event. |
|
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.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
Currently not handled.
hevent | An HEventInfo object containing information about the current event. |
|
virtual |
This method does the actual work of settig the axis mode. Users should use SetAxisMode().
mode | The mode in which you wish the axis triad to appear. |
|
virtual |
This method is called before a camera change.
|
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.
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.
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(). |
|
protected |
Special helper function to check the size of the view. This function is intended primarily for internal use.
void HBaseView::RemoveTransforms | ( | ) |
This method removes the modelling transformations from the scene segment.
void HBaseView::RenderAntialiasing | ( | ) |
This method redraws the scene with antialiasing enabled.
void HBaseView::RenderBRepHiddenLine | ( | ) |
This method sets the render mode to hidden line for BRep geometry.
void HBaseView::RenderBRepHiddenLineFast | ( | ) |
This method sets the render mode to fast hidden line for BRep geometry.
void HBaseView::RenderBRepWireframe | ( | ) |
This method sets the render mode to brep wireframe.
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.
void HBaseView::RenderFlat | ( | ) |
This method sets the render mode to flat shading.
void HBaseView::RenderGooch | ( | ) |
This method sets the render mode to Gooch shading.
void HBaseView::RenderGouraud | ( | ) |
This method sets the render mode to gouraud shading.
void HBaseView::RenderGouraudWithLines | ( | ) |
Sets render mode to Gouraud with lines on
void HBaseView::RenderHiddenLine | ( | ) |
This method sets the render mode to hidden line.
void HBaseView::RenderHiddenLineFast | ( | ) |
This method sets the render mode to fast hidden line.
void HBaseView::RenderLOD1 | ( | ) |
Clamps rendering to LOD1.
void HBaseView::RenderLOD2 | ( | ) |
Clamps rendering to LOD2.
void HBaseView::RenderPhong | ( | ) |
This method sets the render mode to phong shading.
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.
void HBaseView::RenderShadedVertices | ( | ) |
This method sets the render mode to shaded vertices.
void HBaseView::RenderShadedWireframe | ( | ) |
This method sets the render mode to shaded wireframe.
void HBaseView::RenderShadedWithLines | ( | ) |
Sets render mode with smooth shading and lines on
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.
void HBaseView::RenderVertices | ( | ) |
This method sets the render mode to vertices.
void HBaseView::RenderWireframe | ( | ) |
This method sets the render mode to wireframe so that only lines and edges appear in the scene.
void HBaseView::RenderWireframeWithSilhouette | ( | ) |
This method sets the render mode to wireframe with silhouette.
|
inline |
Call this method to indicate to the view that you would like it to performat an update.
void HBaseView::ResetIdleTime | ( | ) |
This method reports that an event has occurred, so the idle time should be returned to zero.
void HBaseView::ResetKeyState | ( | ) |
This function resets the current key state.
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.
sname | The segment name on the view that contains the camera settings for the axis display. |
|
virtual |
This method has been deprecated. SelectFromMessage is the function the HNet server calls to tell the slave clients to select an object.
*in_data | data containing the selection information |
data_length | length of the in_data array |
Referenced by HSelectMessageHandler::ProcessMessage().
|
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...
onOff | Pass true to allow the rendering of cut geometry during object manipulation or false to not draw it. |
|
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...
onOff | Pass true to allow shadows to be drawn while objects are manipulated or false for no shadows to be rendered. |
void HBaseView::SetAnnotationResize | ( | bool | value | ) |
This method enables or disables annotation resizing. It must be on for annotations to work.
value | annotation resizing on/off |
|
virtual |
The method sets operator for axis based camera manipulation.
op | A pointer the operator to replace existing operator with. |
|
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.
mode | The mode in which you wish the axis triad to appear. |
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().
cull | If the value is true, backplane will be enabled. If the value is false, it will be disabled. |
|
inline |
|
virtual |
This method sets the camera for the scene.
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. |
|
virtual |
This method sets the camera on the scene.
camera | HCamera object defining the camera. |
|
inlinevirtual |
Use this method to indicate if the camera has changed.
val | Pass true to indicate the camera has changed or false if the camera has not changed. |
|
virtual |
This method has been deprecated. This is the method that HNet calls to set the camera on the scene.
*data | A character string containing the camera definition. |
data_length | The length of data string. |
Referenced by HSetCameraMessageHandler::ProcessMessage().
void HBaseView::SetColorIndexInterpolation | ( | bool | onoff, |
bool | isolines = false |
||
) |
This method sets the color index interpolation rendering option on the current scene.
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. |
void HBaseView::SetColorInterpolation | ( | bool | onoff | ) |
This method sets the color interpolation rendering option on the current scene.
onoff | Pass true to turn on color interpolation or false to turn it off. |
|
inline |
This method sets the HConstantFrameRate object for this view.
cf | A pointer to the HConstantFrameRate object. |
|
inline |
This method sets the key of the segment used to store temporary construction geometry.
construct_key | The key to build construction geometry under. |
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.
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. |
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.
cullingthreshold | The culling threshold value given in pixels. |
|
inline |
Deprecated. Please use SetOperator().
void HBaseView::SetCutGeometryVisibility | ( | HCutGeometryVisibility | visibility | ) |
Use this method to set the cut geometry visibility.
visibility | The cut geometry visibility you want to set for the scene. |
|
inline |
This method sets the key of the segment used to store geometry representing cutting plane intersections.
cuttingplanegeom_key | Pass the segment that you want HOOPS to store cutting plane geometry under. |
|
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.
onoff | Pass true to turn on cutting plane regeneration or false to turn it off. |
void HBaseView::SetCuttingPlanesExist | ( | bool | state | ) |
Use this method to tell the system whether cutting planes exist.
state | Pass true if cutting planes exist or false if they don't. |
|
inline |
This method sets the the key of the segment used to store the view's cutting planes.
cuttingplanes_key | Pass the key in which you want to the view's cutting planes. |
void HBaseView::SetCuttingPlanesVisibility | ( | bool | visible | ) |
This method enables visibility of cutting-plane faces.
visible | Pass true to indicate that cutting planes are visible. |
|
inline |
This method sets the pointer to the debug zbuffer object. The HBaseView will automatically be deleted on destruction, but not on reassignment.
void HBaseView::SetDefaultHSRA | ( | ) |
This method sets the hidden surface removal algorithm rendering option to the value that is preferred by the current driver type.
|
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.
selectionproximity | the range in centimeters for selection proximity |
void HBaseView::SetDepthOfField | ( | bool | onoff, |
float | strength = 1.0f |
||
) |
This method enables of disables Depth Of Field
onoff | whether or not to use depth of field |
strength | multiplier of the default strength |
void HBaseView::SetDepthOfFieldRange | ( | float | near = 0.0f , |
float | far = 0.0f |
||
) |
This method sets the focal range for the Depth Of Field option
near | the near plane distance from the camera |
far | the far plane distance from the camera |
|
inline |
This method controls whether fit world will acknowledge sub-entity visibilities. This will only work if fast fit world is disabled.
fw | if true detailed fit world will be used. |
|
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.
onoff | Pass true if edge and line weight/pattern should be taken into account or false if they shouldn't be. |
|
inline |
This function controls whether manipulator handles will be created when geometry is double clicked.
void HBaseView::SetDisplayListMode | ( | bool | mode | ) |
This method enables display lists of the currently active display list type (see m_DisplayListType).
mode | Pass true to activate the display list type or false to turn it off. |
void HBaseView::SetDisplayListType | ( | DisplayListType | type | ) |
This method sets the display list type. Note that this only applies when the OpenGL_Deprecated, OpenGL2, DX9, or DX11 driver is being used.
type | Pass the type of display list you would like to use. |
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.
double_buffer | If true, the view will be double-buffered, otherwise it will be single-buffered. |
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.
state | Pass true to turn on dynamic highlighting or false to turn it off. |
|
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.
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. |
void HBaseView::SetEventCheckerCallback | ( | void(*)(HIC_Rendition const *nr) | EventChecker | ) |
This method sets the event checker callback.
|
inline |
This method controls whether fast fit world will be used. Note: a fast fit world may be looser.
fw | if true fast fit world will be used. |
void HBaseView::SetFastMarkerDrawing | ( | bool | b_fast | ) |
This method indicates whether marker drawing will bias toward performance or quality.
|
virtual |
This method sets the font size on the scene key.
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, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients. |
|
virtual |
This method sets the font size on the scene key based on the information in the message.
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().
|
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.
force | On/Off Pass true to turn on force all hidden line rendering to fast hidden line. |
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.
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 |
|
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.
|
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.
mode | An enumerated type indicating the world handedness. |
emit_message | Indicates that a message should be sent to the emit_message_function, which (if implemented) would typically use the HOOPS/Net 'Send' function to dispatch the message to clients |
|
virtual |
This method sets the handedness of the world coordinate system based on the information in the message.
in_data | A character pointer containing the handedness information. |
data_length | The size of the message. |
Referenced by HSetHandednessMessageHandler::ProcessMessage().
|
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.
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, which (if implemented) would typically use the HOOPS/Net 'Send' function to dispatch the message to clients |
|
inlinevirtual |
This method sets the handle operator for this view.
op | A pointer to handle operator you want associated with this view. |
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.
cutoff | The hard extent value given in pixels. |
|
inline |
Controls whether hardware acceleration will be used for anti-aliasing.
|
virtual |
This method tells the view if there are objects in the scene.
hasobjects | Pass true to indicate that the scene has segments that are grouped as objects and/or has handles. |
|
virtual |
This method sets the selection highlight mode.
m | The new highlight mode as described by HSelectionHighlightMode. |
|
inline |
|
virtual |
This method sets the intial camera for the scene usually after loading.
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. |
|
inline |
This method sets the key of the segment used to store intersection polylines.
interesetpolylines_key | Pass the segment key you want HOOPS to store intersection polylines under. |
|
inlinevirtual |
Use this method to control the direction of a zoom resulting from a mouse wheel event
val | Pass true if you want to invert the zoom direction resulting from a camera wheel event. |
|
inline |
|
inline |
Sets the key state callback for low level key access.
void HBaseView::SetLightCount | ( | int | count | ) |
Use this method to control the number of lights in the scene.
count | the number of lights. |
void HBaseView::SetLightFollowsCamera | ( | bool | onoroff | ) |
Use this method to indicate if you want the light to follow the camera.
onoroff | Pass true for the light to follow the camera or false if it should not. |
|
inline |
This method sets the key of the segment containing the lights for the scene.
lights_key | Pass the key of the segment that you want HOOPS to create light for the scene in. |
void HBaseView::SetLineAntialiasing | ( | bool | onoff | ) |
This method enables or disables anti-aliasing for lines by setting the appropriate rendering option in the view segment.
onoff | Line Anti-aliasing on/off |
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.
onoff | If true, LOD is enabled. If false, it is disabled. |
void HBaseView::SetLodThreshold | ( | int | val | ) |
This method sets the LOD threshold for which HOOPS will dynamically switch between different levels of detail.
val | The threshold distance in world space from the camera position in which HOOPS will dynamically switch between levels of detail. |
|
inline |
This method sets the HMarkupManager object for the view.
markup | A pointer to an HMarkupManager object. |
|
inline |
This method lets you set the ceiling on the time it takes for an update to be performed.
mut | The upper limit on the duration of a update in seconds. |
|
virtual |
This method receives all SetModellingMatrix messages.
in_data | this contains the modelling matrix information |
data_length | length of the in_data array |
Referenced by HSetModellingMatrixMessageHandler::ProcessMessage().
|
inline |
This method informs the view of the visibility of the navcube.
onoff | Pass true to indicate that the navcube is visible or false to indicate that it is not. |
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.
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. |
void HBaseView::SetOperator | ( | HBaseOperator * | NewOperator | ) |
This method sets the current operator to NewOperator.
NewOperator | A pointer to the new operator. |
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.
HandednessMode | This mode will help HOOPS determine which the inside and outside of a given face. |
|
inline |
This method sets the key of the segment that HBaseView uses to create the progress bar for loading files under.
view_key | The key of the segment to use for creating the progress bar. |
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.
mode | The mode in which you want the camera to project. |
void HBaseView::SetRecordCamera | ( | bool | rc | ) |
This method enables or disables the automatic camera movement recording.
rc | Pass true to enable camera recording or false to disable it. |
|
virtual |
This method controls whether or not quick moves (reference) highlighting will be used in both of the selection sets maintained by the HBaseView.
use_ref | if true, quickmoves highlighting will be used, otherwise conditional highlighting will be. |
|
virtual |
This method sets up the reflection plane in the current view.
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. |
|
virtual |
This method sets the max number of items that each selection will hit.
limit | Pass in NO_RELATED_SELECTION_LIMIT for no related selection limit. |
|
virtual |
This method has been deprecated. This method sets the render mode for this view to NewRenderMode. The default is HRenderGouraud.
NewRenderMode | The new render mode. |
emit_message | Pass true to indicates that an HNet message should be generated/sent. |
|
virtual |
This method has been deprecated. This method is called by HNet to change the rendermode of the client involved in a HNet session.
in_data | the data containing the requested rendermode. |
data_length | The length of the in_data array. |
Referenced by HSetRenderModeMessageHandler::ProcessMessage().
|
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.
onoff | Pass true to cull selected geometry in the same manner as unselected geometry, or false for selected geometry not to be culled. |
This function sets a scene bounding.
min | the minimum values of the bounding |
max | the maximum values of the bounding |
|
inline |
This method sets the key of the segment used to represent the top of the scene's segment hierarchy.
scene_key | The key of the segment to use at the top-level scene segment. |
|
inline |
This method sets the selection object for this view.
selection | A pointer the HSelectionSet object you want associated with this view. |
|
virtual |
This method sets how blurring will be done on shadows.
blur | A number between 1 to 31 indicating the level of blurring (softening) that is applied to the shadow |
|
virtual |
This method sets the shadow color.
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. |
|
virtual |
Toggles whether or not transparency is considered when casting simple shadow.
|
virtual |
This method allows you to set a custom light direction for simple shadows.
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. |
|
virtual |
This method updates the current shadow of model in the current view.
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. |
|
protected |
This method sets the plane, light position, color and filter for the shadow.
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. |
|
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
shadowObj | The HShadow object representing the shadow |
|
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.
onoff | Pass true to turn shadow regeneration on or false to turn it off. |
|
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.
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.
mode | The shadow rendering mode you want HOOPS to use. |
|
virtual |
This method sets the shadow resolution.
res | The new shadow resolution which is number from 32 to 1024. |
unsigned long HBaseView::SetSignalNotify | ( | int | signal, |
HSignalNotifyFunction | callback, | ||
void * | user_data | ||
) |
Request notification when a particular event occurs.
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. |
|
inline |
This method determines the length of the smooth transition in seconds.
duration | The duration of the transiation in seconds. |
void HBaseView::SetSplatRendering | ( | bool | onoff | ) |
Controls the state of splat rendering of markers.
void HBaseView::SetSplatSize | ( | int | splat_size | ) |
This method sets the size of marker splats in wsu.
void HBaseView::SetSplatSymbol | ( | SplatSymbol | symbol | ) |
This method sets the symbol used for marker splats.
|
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.
onoff | Pass true if you wish to turn on spriting. Pass false, if you wish to turn it off. |
|
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.
suppress | If this value is set to true, then no updates will be made. |
|
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.
suppress | If this value is set to true, then no updates will be made. |
void HBaseView::SetTextAntialiasing | ( | bool | onoff | ) |
This method enables or disables anti-aliasing for text by setting the appropriate rendering option in the view segment.
onoff | text Anti-aliasing on/off |
void HBaseView::SetTransparency | ( | char const * | text, |
bool | fast_z_sort = false |
||
) |
This method sets how transparency should be rendered in the view.
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. |
|
inline |
Determines whether the HOpSelectArea operator should draw its area with a transparent rectangle as opposed to just an outline.
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. |
|
inline |
Use this method to tell HOOPS if an update was interrupted.
val | Pass 1 to indicate that an update was interrupted or 0 to indicate that it wasn't. |
|
inline |
Used to indicate whether an update is currently in progress.
This method creates handles for the specified object.
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. |
|
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.
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.
front_axis | A pointer to the front - back axis. |
top_axis | A pointer to the top - bottom axis. |
|
inline |
|
virtual |
This method sets the view mode for this view. The default is HViewXY.
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. |
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.
level | The new selection level to be set on the driver. |
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.
mode | The new view update mode ViewUpdateMode::Continuous, ViewUpdateMode::OnDemand or ViewUpdateMode::Deferred. |
rate | Rate, in ticks, in which updates are generated. |
|
virtual |
This method enables or disables visibility selection mode.
onoff | Pass true for object visibility is taken into account or false for object visibility not taken into account. |
|
virtual |
This method sets the window color.
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, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients. |
|
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.
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, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients. |
|
virtual |
This method sets the window color based on the information in the message.
in_data | A character pointer containing the window color information. |
data_length | The size of in_data. |
Referenced by HSetWindowColorMessageHandler::ProcessMessage().
|
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.
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, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients. |
|
virtual |
This method give the window a texture.
name | The name of a texture material |
emit_message | Pass true to indicate that a message should be sent to the emit_message_function, which if implemented would typically use the HOOPS/Net 'Send' function to dispatch the message to clients. |
|
inline |
This method sets the key of the segment used to hold window space attributes.
winspace_key | The key of the segment you want HOOPS to hold window space attributes. |
|
inline |
This method sets the maximum zoom level for a camera. It guarantees that the window always views more than this number of units.
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. |
|
virtual |
|
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.
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. |
|
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.
|
static |
This function can be used to force an update on a given view.
view_pointer | a pointer to an HBaseView object. |
|
static |
The ProgressBarCallback usually called from streaming toolkit.
so_far | The amount of data received. |
expected | The amount Of data expected. |
user_data | The user data. |
void HBaseView::UnSetSignalNotify | ( | unsigned long | cookie | ) |
Rescind a signal request notification.
cookie | the unique identifier of the request to be cancelled. |
|
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.
|
inline |
This method recreates the axis triad to account for any changes in behavior that might have been requested.
int HBaseView::UpdateEvent | ( | bool | antialias = false , |
bool | forceUpdate = false |
||
) |
This event method receives update events.
antialias | If true, then an anti-aliased version of the scene will be drawn. |
forceUpdate | If true, then an update will be forced. |
void HBaseView::UpdateFakeHLRColor | ( | HPoint | paper_color | ) |
This method is used for setting the background color used for fake hidden-line drawing.
paper_color | An RGB triplet where each value is in [0.0, 1.0]. |
|
virtual |
This method updates the highlighting of selected objects in all HSelectionSets owned by this view.
|
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.
antialias | If true, then an anti-aliased version of the scene will be drawn. |
force_update | If true, then an update will be forced. |
|
static |
The Tick function called from the timer manager.
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. |
|
virtual |
|
virtual |
This functions zooms to the original camera settings which have been specified when the model was initially loaded.
|
inline |
|
inline |
|
protected |
Key of the segment which contains the axis triad.
|
protected |
The width and height of the axis triad, given as a number of pixels.
|
protected |
The flag to allow interactive cut geometry mode.
|
protected |
The flag to allow interactive shadow mode.
|
protected |
Current axis display mode.
|
protected |
Allow/disallow portions of the axis triad to be alpha blended (regardless, window is still clear).
|
protected |
Indicates if Shell Selection Mode is currently active.
|
protected |
Key of the segment which is used to draw geometry representing the bounding box of geometry being manipulated.
|
protected |
The value is true if the camera changed between updates.
|
protected |
This member indicates the visibility setting of cutting plane intersection faces.
|
protected |
This member indicates the visibility setting of cutting plane intersection lines .
|
protected |
Enables/Disables Cutting Plane Regeneration.
|
protected |
Existence of cutting plane geometry.
|
protected |
Visibility of transparent face representing the cutting plane.
|
protected |
A boolean indicating if a call to Update() has occurred.
|
protected |
If this member is set to true, it forces fast hidden line mode overriding other settings.
|
protected |
If true, cutting plane intersection geometry will be recomputed during an update; if false, such geometry will not be recomputed.
|
protected |
Informs the view if overlapped text should be filtered. This causes a performance hit.
|
protected |
A flag indicating if initial camera is set.
|
protected |
A flag which indicate whether we should invert the zoom which results from a mouse wheel event.
|
protected |
For internal use.
|
protected |
Indicates whether the light should follow the camera around; default is true.
|
protected |
Enables/Disables line anti-aliasing.
|
protected |
For internal use.
|
protected |
Informs the view if the navcube is on and needs to be updated.
|
protected |
Indicates if camera recording mode is active.
|
protected |
Enables/Disables shadow regeneration.
|
protected |
If enabled, shadow regeneration will be toggled back on during next update.
|
protected |
Enables/Disables smooth transition for non-interactive view changes.
|
protected |
Allow/disallow spriting in operators.
|
protected |
Enables/Disables text anti-aliasing.
|
protected |
Indicates whether selection by area should draw a transparent rectangle or just its outline.
|
protected |
If the value is true, an update was requested. If the value is false, then no update was requested.
|
protected |
Key of the segment with quickmoves attributes typically used for temporary geometry.
|
protected |
Indicates where, for purposes of generating cutting plane intersection faces, solid bodies begin and end. See HIMCG_Body_Type in HImCuttingGeometry.h.
|
protected |
Key of the node of the segment which contains the cutting plane intersection geometry.
|
protected |
Key of the node of the segment tree which contains the the cutting planes and the quad grids used to visually represent them.
|
protected |
Selection Proximity for View.
|
protected |
They type of display lists used.
|
protected |
The key of the segment containing fake hidden line settings.
|
protected |
The key of the fake hidden line style, if it is currently applied (should be invalid otherwise).
|
protected |
Front-Back Axis Vector used in SetViewMode.
|
protected |
This member stores the current highlighting mode.
|
protected |
Time since the last event.
|
protected |
The camera settings for the initial camera.
|
protected |
Key of the node of the segment which contains polylines of intersection (see HOpObjectClash operator).
|
protected |
The value is true if we are in UpdateInternal
|
protected |
The key of the HOOPS segment containing the lights for this view.
|
protected |
This is the key which defines the link from the view segment to the HBaseModel segment.
|
protected |
Time beyond which updates should be cut off.
|
protected |
Key of the segment associated with this view's scene. This is a subsegment of the View segment.
|
protected |
A pointer to the anti-aliasing utility class.
|
protected |
A pointer to the constant framerate object of this view.
|
protected |
A pointer to the object associated with the active z buffer visualization window (if any).
|
protected |
A pointer to the current event of this view.
|
protected |
A pointer to the event manager.
|
protected |
A pointer to an event checker function.
|
protected |
A pointer to a keyboard query function .
|
protected |
A pointer to the handle operator.
|
protected |
A pointer to the highlight object of this view.
|
protected |
A pointer to the object containing the cutting geometry .
|
protected |
Operator Instance used in axis based camera manipulation.
|
protected |
A pointer to the markup manager class.
|
protected |
Pointer to the HBaseModel object to be viewed.
|
protected |
A pointer to the object manager.
|
protected |
A pointer to the current operator of this view.
|
protected |
Key of the segment which contains the file load progress bar.
|
protected |
A pointer to the selection object of this view.
|
protected |
A pointer to Shared Key class.
|
protected |
A pointer to the undo manager.
|
protected |
The current render mode.
|
protected |
Key of the segment associated with this view's scene. This is a subsegment of the View segment.
|
protected |
The key of the default distant light.
|
protected |
The current shadow mode.
|
protected |
Duration of Smooth Transition.
|
protected |
Top-Bottom Axis Vector used in SetViewMode.
|
protected |
A pointer to the touch manager class.
|
protected |
The value is true if update has been interrupted by GUI event, and false if update was not interrupted.
|
protected |
Key of the HOOPS driver instance segment.
|
protected |
The current view mode.
|
protected |
The value of the update mode which can be continuous or on demand.
|
protected |
This value determines how far the gradiated background extends into the vertical direction.
|
protected |
Key of the segment with window (screen) space attributes typically used for temporary geometry.