HBaseView.h File Reference
#include "HTools.h"
#include "HTManager.h"
#include "HEventListener.h"

Go to the source code of this file.

Classes

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

Typedefs

typedef void(* HBaseViewEmitMessageFunction) (const char *message, unsigned int length, void *user_data)
 
typedef bool(* HSignalNotifyFunction) (int signal, void *signal_data, void *user_data)
 

Enumerations

enum  AxisMode { AxisOff, AxisSimple, AxisCenter, AxisOn }
 
enum  DisplayListType { DisplayListOff, DisplayListGeometry, DisplayListSegment }
 
enum  FramerateMode { FramerateOff, FramerateFixed, FramerateTarget }
 
enum  HandednessMode { HandednessLeft, HandednessRight, HandednessNone }
 
enum  HBloomShape { RadialBloom, StarBloom }
 
enum  HLRMode { AnalyticHiddenLine, FastHiddenLine, FakeHiddenLine }
 
enum  HQuickMovesMethod { HQuickMoves_None, HQuickMoves_XOR, HQuickMoves_Overlay, HQuickMoves_Spriting }
 
enum  HRenderMode {
  HRenderWireframe = 1, HRenderTriangulation = 2, HRenderSilhouette = 3, HRenderHiddenLine = 4,
  HRenderHiddenLineHOOPS = 5, HRenderHiddenLineFast = 6, HRenderFlat = 7, HRenderGouraud = 8,
  HRenderGouraudWithEdges = 9, HRenderPhong = 10, HRenderShaded = 11, HRenderShadedWithLines = 12,
  HRenderWireframeWithSilhouette = 13, HRenderShadedWireframe = 14, HRenderVertices = 15, HRenderShadedVertices = 16,
  HRenderGouraudWithLines = 17, HRenderLOD1 = 18, HRenderLOD2 = 19, HRenderBRepHiddenLine = 20,
  HRenderBRepHiddenLineFast = 21, HRenderBRepWireframe = 22, HRenderGoochShaded = 23, HRenderFakeHiddenLine = 24,
  HRenderUnknown = 0
}
 
enum  HShadowRenderingMode { SoftwareShadow, HardwareShadow, SoftwareOpenglShadow }
 
enum  HViewSelectionLevel { HSelectionLevelEntity, HSelectionLevelSegment, HSelectionLevelSegmentTree }
 
enum  LightingIntMode { LightingIntUnknown, LightingIntGouraud, LightingIntPhong }
 
enum  MultiThreadingType { MultiThreadingOff, MultiThreadingBasic, MultiThreadingFull }
 
enum  ProjMode { ProjUnknown, ProjPerspective, ProjOrthographic, ProjStretched }
 
enum  SplatSymbol { SplatRound, SplatSquare }
 
enum  UpDirection { UpDirectionX = 0xFADE, UpDirectionY, UpDirectionZ }
 
enum  ViewMode {
  HViewNone, HViewXY, HViewYX, HViewXZ,
  HViewZX, HViewYZ, HViewZY, HViewIso,
  HViewIsoFrontRightTop, HViewIsoBackRightTop, HViewIsoBackLeftTop, HViewIsoBackLeftBottom,
  HViewIsoBackRightBottom, HViewIsoFrontLeftTop, HViewIsoFrontLeftBottom, HViewIsoFrontRightBottom,
  HViewSEIso, HViewSWIso, HViewNEIso, HViewNWIso,
  HViewFront, HViewBack, HViewRight, HViewLeft,
  HViewTop, HViewBottom, HViewUnknown
}
 
enum  ViewUpdateMode { OnDemand, Continuous, Deferred }
 

Detailed Description

Defines datatypes associated with the HBaseView class

Typedef Documentation

◆ HBaseViewEmitMessageFunction

typedef void(* HBaseViewEmitMessageFunction) (const char *message, unsigned int length, void *user_data)

This has been deprecated. Functional prototype for the function which emits an MVO message. This is typically used in conjunciton with a HNet session.

Parameters
messagethis is the character string which uniquely identifies the message
lengththis is the byte length of the user_data
user_datathe user_data which contains the message

◆ HSignalNotifyFunction

typedef bool(* HSignalNotifyFunction) (int signal, void *signal_data, void *user_data)

Functional prototype for the signalling notify system in HBaseView.

Parameters
signalidentifier of the signal
signal_datathe data associated with this specific signal
user_dataany user data that may be associated with this specific signal

Enumeration Type Documentation

◆ AxisMode

enum AxisMode
Enumerator
AxisOff 

self-explanatory

AxisSimple 

Like AxisOn, but without the planes.

AxisCenter 

Like AxisOn, but centered differently.

AxisOn 

self-explanatory

◆ DisplayListType

Indicates the display list type.

Enumerator
DisplayListOff 

No display lists.

DisplayListGeometry 

Geometry-level display lists.

DisplayListSegment 

Segment-level display lists.

◆ HandednessMode

Indicates the handedness mode. Used for polygon handedness and world handedness

Enumerator
HandednessLeft 

self-explanatory

HandednessRight 

self-explanatory

HandednessNone 

no handedness; only applies to polygon-handedness

◆ HBloomShape

Enumerator
RadialBloom 

radial bloom

StarBloom 

star bloom

◆ HLRMode

enum HLRMode

Indicates the default hidden line mode

Enumerator
AnalyticHiddenLine 

Analytic hidden line.

FastHiddenLine 

Fast hidden line.

FakeHiddenLine 

Fake hidden line.

◆ HQuickMovesMethod

Enumerator
HQuickMoves_None 

the driver is unable to quick move at all

HQuickMoves_XOR 

quick-moved geometry was last drawn as XOR (exclusive OR), meaning that colors are often inverted or completely wrong

HQuickMoves_Overlay 

quick-moved geometry was last drawn as overlay, meaning that colors are correct, but that the quick-moved item is always on top

HQuickMoves_Spriting 

quick-moved geometry was last drawn as spriting, color-correct and depth-mixed with the rest of the scene

◆ HRenderMode

Indicates the rendering mode

Enumerator
HRenderWireframe 

edges/lines only

HRenderTriangulation 

edges and non-lit faces

HRenderSilhouette 

shell/mesh silhouette edges

HRenderHiddenLine 

hidden line removal

HRenderHiddenLineHOOPS 

currently does nothing

HRenderHiddenLineFast 

simulate hidden line (regular hardware z-buffer, with faces set to window background color)

HRenderFlat 

flat shading

HRenderGouraud 

gouraud (smooth) shading

HRenderGouraudWithEdges 

gouraud (smooth) shading with edges turned on

HRenderPhong 

phong shading

HRenderShaded 

indicates shaded rendering; underlying code will use phong if hardware accel is avialable, otherwise gouraud will be used

HRenderShadedWithLines 

same as HReanderShaded but with lines visible

HRenderWireframeWithSilhouette 

wireframe + silhouette

HRenderShadedWireframe 

wireframe, with shaded lines

HRenderVertices 

vertices only

HRenderShadedVertices 

vertices only (shaded)

HRenderGouraudWithLines 

same as HReanderShaded but with lines visible

HRenderLOD1 

clamps to LOD1

HRenderLOD2 

clamps to LOD2

HRenderBRepHiddenLine 

hidden line-ish removal

HRenderBRepHiddenLineFast 

hidden line-ish removal

HRenderBRepWireframe 

brep wireframe

HRenderGoochShaded 

Gooch Shaded.

HRenderFakeHiddenLine 

fake hidden line

◆ HShadowRenderingMode

Enumerator
SoftwareShadow 

image driver shadow generation

HardwareShadow 

opengl p-buffer shadow generation

SoftwareOpenglShadow 

opengl software shadow generation

◆ LightingIntMode

Indicates the lighting interpolation mode

Enumerator
LightingIntUnknown 

unknown mode

LightingIntGouraud 

self-explanatory

LightingIntPhong 

self-explanatory

◆ MultiThreadingType

Indicates the multi-threading type.

◆ ProjMode

enum ProjMode

Indicates the camera projection mode; refer to HC_Set_Camera for details

Enumerator
ProjUnknown 

unknown mode

ProjPerspective 

Objects which are close to the eye appear large, and objects which are far away appear small.

ProjOrthographic 

The represented size of an object doesn't depend on how close or far it is—this can be handy in architecture and engineering.

ProjStretched 

In a "stretched" view, an orthographic projection is made, and then the view is "stretched" to fit exactly into the available screen window.

◆ SplatSymbol

Indicates the splat symbol type.

Enumerator
SplatRound 

Round.

SplatSquare 

Square.

◆ UpDirection

◆ ViewMode

enum ViewMode

Indicates the camera target plane (or iso view)

Enumerator
HViewNone 

none view mode

HViewXY 

self-explanatory

HViewYX 

self-explanatory

HViewXZ 

self-explanatory

HViewZX 

self-explanatory

HViewYZ 

self-explanatory

HViewZY 

self-explanatory

HViewIso 

self-explanatory

HViewIsoFrontRightTop 

positive X, positive Y, positive Z (same as HViewISO)

HViewIsoBackRightTop 

negative X, positive Y, positive Z

HViewIsoBackLeftTop 

negative X, positive Y, positive Z

HViewIsoBackLeftBottom 

negative X, positive Y, positive Z

HViewIsoBackRightBottom 

negative X, positive Y, positive Z

HViewIsoFrontLeftTop 

negative X, positive Y, positive Z

HViewIsoFrontLeftBottom 

positive X, positive Y, positive Z (same as HViewISO)

HViewIsoFrontRightBottom 

positive X, positive Y, positive Z (same as HViewISO)

HViewSEIso 

same as HViewIsoXYZ and HViewISO

HViewSWIso 

same as HViewIsoxYZ

HViewNEIso 

same as HViewIsoXYz

HViewNWIso 

same as HViewIsoxYz

HViewUnknown 

unknown view mode

◆ ViewUpdateMode

Indicates how the scene gets updated.

Enumerator
OnDemand 

This tells the MVO framework not to implicitly perform updates. They will be explicity made by calls to Update().

Continuous 

This tells the MVO framework to implicitly perform continuous updates by polling for posted update events at a regular interval.

Deferred 

This tells the MVO framework to implicitly perform continuous culled, timed updates drawing culled items as time permits.