GfxObj Class Reference

main class for all graphic objects More...

#include <gfx_object.hh>

Inherits ost::gfx::GfxObjBase.

Inherited by Entity, GfxTestObj, MapIso, MapSlab, PrimList, PyGfxObj, and Surface.

Public Member Functions

 GfxObj (const String &name)
virtual GfxNodeP Copy () const
virtual void DeepSwap (GfxObj &go)
virtual void RenderGL (RenderPass pass)
virtual void RenderPov (PovState &pov)
virtual void Export (Exporter *ex)
virtual void Apply (GfxNodeVisitor &v, GfxNodeVisitor::Stack st)
virtual int GetType () const
virtual void SetMatAmb (const Color &c)
virtual void SetMatDiff (const Color &c)
virtual void SetMatSpec (const Color &c)
virtual void SetMatShin (float s)
virtual void SetMatEmm (const Color &c)
virtual void ContextSwitch ()
virtual void SetRenderMode (RenderMode::Type m)
virtual RenderMode::Type GetRenderMode () const
virtual geom::Vec3 GetCenter () const
virtual void SetLineWidth (float w)
virtual void SetPolyMode (unsigned int m)
virtual void SetAALines (bool f)
virtual void SetLineHalo (float f)
virtual void SetOutline (bool f)
virtual bool GetOutline () const
virtual void SetOutlineMode (int m)
virtual int GetOutlineMode () const
virtual void SetOutlineWidth (float f)
virtual float GetOutlineWidth () const
virtual void SetOutlineExpandFactor (float f)
virtual float GetOutlineExpandFactor () const
virtual void SetOutlineExpandColor (const Color &c)
virtual Color GetOutlineExpandColor () const
virtual void SetOpacity (float f)
virtual float GetOpacity () const
virtual void SetSolid (bool f)
virtual bool GetSolid () const
virtual void SetSolidColor (const Color &c)
virtual Color GetSolidColor () const
virtual void SetClip (bool f)
virtual bool GetClip () const
virtual void SetClipPlane (const geom::Vec4 &)
virtual geom::Vec4 GetClipPlane () const
virtual void SetClipOffset (float f)
virtual float GetClipOffset () const
virtual void ColorBy (const mol::EntityView &ev, const String &prop, const Gradient &g, float minv, float maxv)
virtual void ColorBy (const img::MapHandle &mh, const String &prop, const Gradient &g, float minv, float maxv)
virtual geom::AlignedCuboid GetBoundingBox (bool use_tf=false) const
virtual void ProcessLimits (geom::Vec3 &minc, geom::Vec3 &maxc, const geom::Transform &tf) const
virtual void CustomRenderGL (RenderPass pass)
virtual void CustomPreRenderGL (bool rebuild)
virtual void InitGL ()
virtual void CustomRenderPov (PovState &pov)
virtual bool OnSelect (const geom::Line3 &l, geom::Vec3 &result, float zlim, bool pick_flag)
virtual void OnInput (const InputEvent &e)
virtual void OnRenderModeChange ()
virtual void OnGLCleanup ()
void Clear ()
const geom::TransformGetTF () const
void SetTF (const geom::Transform &tf)
void AddLabel (const String &s, const geom::Vec3 &pos, const Color &col, float psize)
void AddLabel (const String &s, const geom::Vec3 &pos, const Color &col)
void AddLabel (const String &s, const geom::Vec3 &pos, float psize)
void AddLabel (const String &s, const geom::Vec3 &pos)
void ClearLabels ()
void FlagRebuild ()
void FlagRefresh ()
bool GetAALines () const
float GetLineWidth () const
float GetLineHalo () const
void SetNormalSmoothFactor (float smoothf)
float GetNormalSmoothFactor () const
Material GetMaterial () const
void SetMaterial (const Material &m)
void SmoothVertices (float smoothf)
void GLCleanup ()
void Debug (unsigned int flags)
IndexedVertexArrayGetVA ()
const IndexedVertexArrayGetVA () const

Static Public Member Functions

static Color Ele2Color (const String &ele)

Protected Member Functions

void PreRenderGL (bool flag)
void AppendColorOp (gfx::ColorOp *op)
void CleanColorOps ()
void ReapplyColorOps ()
void render_labels () const
void render_depth_only ()

Protected Attributes

IndexedVertexArray va_
RenderMode::Type render_mode_
unsigned int debug_flags_
geom::Transform transform_
bool rebuild_
bool refresh_
float line_width_
unsigned int poly_mode_
bool aalines_flag_
float line_halo_
Material mat_
unsigned int mat_dlist_
bool mat_update_
float opacity_
float smoothf_
bool outline_flag_
int outline_mode_
bool solid_
Color solid_color_
bool clip_flag_
geom::Vec4 clip_plane_
float clip_offset_
boost::ptr_vector< gfx::ColorOpc_ops_
TextPrimList labels_
bool use_occlusion_

Detailed Description

main class for all graphic objects

Definition at line 51 of file gfx_object.hh.


Constructor & Destructor Documentation

GfxObj ( const String name  ) 

Member Function Documentation

void AddLabel ( const String s,
const geom::Vec3 pos 
)
void AddLabel ( const String s,
const geom::Vec3 pos,
float  psize 
)
void AddLabel ( const String s,
const geom::Vec3 pos,
const Color col 
)
void AddLabel ( const String s,
const geom::Vec3 pos,
const Color col,
float  psize 
)
void AppendColorOp ( gfx::ColorOp op  )  [protected]
virtual void Apply ( GfxNodeVisitor v,
GfxNodeVisitor::Stack  st 
) [virtual]

Reimplemented from GfxNode.

void CleanColorOps (  )  [protected]

Reimplemented in Entity, and Surface.

void Clear (  ) 

removes all graphical elements

Reimplemented in PrimList.

void ClearLabels (  ) 
virtual void ColorBy ( const img::MapHandle mh,
const String prop,
const Gradient g,
float  minv,
float  maxv 
) [virtual]

color based on image

Implements GfxObjBase.

Reimplemented in Entity, and Surface.

virtual void ColorBy ( const mol::EntityView ev,
const String prop,
const Gradient g,
float  minv,
float  maxv 
) [virtual]

color each component based on the gradient-mapped property of the given entity

Implements GfxObjBase.

Reimplemented in Entity, and Surface.

virtual void ContextSwitch (  )  [virtual]

rendering context switch, some things need to be regenerated

Implements GfxObjBase.

virtual GfxNodeP Copy (  )  const [virtual]

Reimplemented from GfxNode.

virtual void CustomPreRenderGL ( bool  rebuild  )  [virtual]

Reimplemented in Entity, MapIso, MapSlab, PrimList, and Surface.

virtual void CustomRenderGL ( RenderPass  pass  )  [virtual]

Reimplemented in Entity, GfxTestObj, MapIso, MapSlab, PrimList, and Surface.

virtual void CustomRenderPov ( PovState pov  )  [virtual]

Reimplemented in Entity, MapIso, MapSlab, PrimList, and Surface.

void Debug ( unsigned int  flags  ) 
virtual void DeepSwap ( GfxObj go  )  [virtual]

Reimplemented from GfxNode.

static Color Ele2Color ( const String ele  )  [static]
virtual void Export ( Exporter ex  )  [virtual]

Reimplemented from GfxNode.

Reimplemented in Entity.

void FlagRebuild (  ) 
void FlagRefresh (  ) 
bool GetAALines (  )  const [inline]

Definition at line 202 of file gfx_object.hh.

virtual geom::AlignedCuboid GetBoundingBox ( bool  use_tf = false  )  const [virtual]

returns the bounding box of this object

The bounding box, i.e. the left-bottom-front and the right-top-back corner of the object, is obtained with this method. The single boolean parameter denotes whether to return local coordinates or global scene coordinates; global scene coordinates are local coordinates with the object's transformation (if present) applied. The default is false, i.e. return local coordinates.

Reimplemented in Entity, MapIso, MapSlab, PrimList, and Surface.

virtual geom::Vec3 GetCenter (  )  const [virtual]

get geometric center

Implements GfxObjBase.

Reimplemented in GfxTestObj, MapIso, MapSlab, and PrimList.

virtual bool GetClip (  )  const [inline, virtual]

Implements GfxObjBase.

Definition at line 98 of file gfx_object.hh.

virtual float GetClipOffset (  )  const [inline, virtual]

Implements GfxObjBase.

Definition at line 102 of file gfx_object.hh.

virtual geom::Vec4 GetClipPlane (  )  const [inline, virtual]

Implements GfxObjBase.

Definition at line 100 of file gfx_object.hh.

float GetLineHalo (  )  const [inline]

Definition at line 204 of file gfx_object.hh.

float GetLineWidth (  )  const [inline]

Definition at line 203 of file gfx_object.hh.

Material GetMaterial (  )  const
float GetNormalSmoothFactor (  )  const
virtual float GetOpacity (  )  const [inline, virtual]

returns a value smaller than 1.0 if transparency is used in this object

Implements GfxObjBase.

Reimplemented in Entity.

Definition at line 91 of file gfx_object.hh.

virtual bool GetOutline (  )  const [inline, virtual]

get state of outline rendering

Implements GfxObjBase.

Definition at line 81 of file gfx_object.hh.

virtual Color GetOutlineExpandColor (  )  const [virtual]

get current outline color (mode 3)

Implements GfxObjBase.

virtual float GetOutlineExpandFactor (  )  const [virtual]

get current outline expand factor (mode 3)

Implements GfxObjBase.

virtual int GetOutlineMode (  )  const [inline, virtual]

get current outline mode

Implements GfxObjBase.

Definition at line 83 of file gfx_object.hh.

virtual float GetOutlineWidth (  )  const [virtual]

get current outline width

Implements GfxObjBase.

virtual RenderMode::Type GetRenderMode (  )  const [virtual]

current render mode

Implements GfxObjBase.

virtual bool GetSolid (  )  const [inline, virtual]

Implements GfxObjBase.

Definition at line 93 of file gfx_object.hh.

virtual Color GetSolidColor (  )  const [inline, virtual]

Implements GfxObjBase.

Definition at line 95 of file gfx_object.hh.

const geom::Transform& GetTF (  )  const

get transform

virtual int GetType (  )  const [virtual]

Reimplemented from GfxNode.

const IndexedVertexArray& GetVA (  )  const [inline]

Definition at line 223 of file gfx_object.hh.

IndexedVertexArray& GetVA (  )  [inline]

Definition at line 222 of file gfx_object.hh.

void GLCleanup (  ) 
virtual void InitGL (  )  [virtual]
virtual void OnGLCleanup (  )  [virtual]
virtual void OnInput ( const InputEvent e  )  [virtual]

Reimplemented in MapIso.

virtual void OnRenderModeChange (  )  [virtual]

Reimplemented in Entity, MapIso, PrimList, and Surface.

virtual bool OnSelect ( const geom::Line3 l,
geom::Vec3 result,
float  zlim,
bool  pick_flag 
) [virtual]

Reimplemented in Entity.

void PreRenderGL ( bool  flag  )  [protected]
virtual void ProcessLimits ( geom::Vec3 minc,
geom::Vec3 maxc,
const geom::Transform tf 
) const [virtual]

adjust minimum and maximum extent based on graphical object

this routine will adjust the provided minimum and maximum points based on the vertices of the underlying graphical representation, combining the given Transform with the object transform.

If derived classes do not implement this method then the limits will be adjusted based on the Cuboid returned by GetBoundingBox(true)

Reimplemented in PrimList.

void ReapplyColorOps (  )  [protected]

Reimplemented in Entity, and Surface.

void render_depth_only (  )  [protected]
void render_labels (  )  const [protected]
virtual void RenderGL ( RenderPass  pass  )  [virtual]

Reimplemented from GfxNode.

virtual void RenderPov ( PovState pov  )  [virtual]

Reimplemented from GfxNode.

virtual void SetAALines ( bool  f  )  [virtual]

turn on sophisticated line anti-aliasing, requires shader

Implements GfxObjBase.

virtual void SetClip ( bool  f  )  [virtual]

Implements GfxObjBase.

virtual void SetClipOffset ( float  f  )  [virtual]

Implements GfxObjBase.

Reimplemented in Entity.

virtual void SetClipPlane ( const geom::Vec4  )  [virtual]

Implements GfxObjBase.

virtual void SetLineHalo ( float  f  )  [virtual]

turn on line halo of given strength

Implements GfxObjBase.

virtual void SetLineWidth ( float  w  )  [virtual]

set line width

Implements GfxObjBase.

Reimplemented in PrimList.

virtual void SetMatAmb ( const Color c  )  [virtual]

material ambient color

Implements GfxObjBase.

virtual void SetMatDiff ( const Color c  )  [virtual]

material diffuse color

Implements GfxObjBase.

virtual void SetMatEmm ( const Color c  )  [virtual]

material emmissive color

Implements GfxObjBase.

void SetMaterial ( const Material m  ) 
virtual void SetMatShin ( float  s  )  [virtual]

material shininess

Implements GfxObjBase.

virtual void SetMatSpec ( const Color c  )  [virtual]

material specular color

Implements GfxObjBase.

void SetNormalSmoothFactor ( float  smoothf  ) 
virtual void SetOpacity ( float  f  )  [virtual]

set opacity (1 = no transparency)

Implements GfxObjBase.

Reimplemented in Entity.

virtual void SetOutline ( bool  f  )  [virtual]

turn outline rendering on or off

Implements GfxObjBase.

virtual void SetOutlineExpandColor ( const Color c  )  [virtual]

set outline color (mode 3)

Implements GfxObjBase.

Reimplemented in Entity.

virtual void SetOutlineExpandFactor ( float  f  )  [virtual]

set outline expansion factor (mode 3) this scales with resolution

Implements GfxObjBase.

Reimplemented in Entity.

virtual void SetOutlineMode ( int  m  )  [virtual]

set outline mode, 1, 2 or 3

Implements GfxObjBase.

virtual void SetOutlineWidth ( float  f  )  [virtual]

set outline width in pixels (modes 1 + 2) this does not scale with resolution

Implements GfxObjBase.

Reimplemented in Entity.

virtual void SetPolyMode ( unsigned int  m  )  [virtual]

set polygon mode

Implements GfxObjBase.

virtual void SetRenderMode ( RenderMode::Type  m  )  [virtual]

change render mode

Implements GfxObjBase.

Reimplemented in Entity.

virtual void SetSolid ( bool  f  )  [virtual]

Implements GfxObjBase.

virtual void SetSolidColor ( const Color c  )  [virtual]

Implements GfxObjBase.

void SetTF ( const geom::Transform tf  ) 

set transform

void SmoothVertices ( float  smoothf  ) 

Field Documentation

bool aalines_flag_ [protected]

Definition at line 249 of file gfx_object.hh.

boost::ptr_vector<gfx::ColorOp> c_ops_ [protected]

Definition at line 268 of file gfx_object.hh.

bool clip_flag_ [protected]

Definition at line 264 of file gfx_object.hh.

float clip_offset_ [protected]

Definition at line 266 of file gfx_object.hh.

geom::Vec4 clip_plane_ [protected]

Definition at line 265 of file gfx_object.hh.

unsigned int debug_flags_ [protected]

Definition at line 242 of file gfx_object.hh.

TextPrimList labels_ [protected]

Definition at line 270 of file gfx_object.hh.

float line_halo_ [protected]

Definition at line 250 of file gfx_object.hh.

float line_width_ [protected]

Definition at line 247 of file gfx_object.hh.

Material mat_ [protected]

Definition at line 252 of file gfx_object.hh.

unsigned int mat_dlist_ [protected]

Definition at line 253 of file gfx_object.hh.

bool mat_update_ [protected]

Definition at line 254 of file gfx_object.hh.

float opacity_ [protected]

Definition at line 256 of file gfx_object.hh.

bool outline_flag_ [protected]

Definition at line 258 of file gfx_object.hh.

int outline_mode_ [protected]

Definition at line 259 of file gfx_object.hh.

unsigned int poly_mode_ [protected]

Definition at line 248 of file gfx_object.hh.

bool rebuild_ [protected]

Definition at line 245 of file gfx_object.hh.

bool refresh_ [protected]

Definition at line 246 of file gfx_object.hh.

Definition at line 241 of file gfx_object.hh.

float smoothf_ [protected]

Definition at line 257 of file gfx_object.hh.

bool solid_ [protected]

Definition at line 261 of file gfx_object.hh.

Color solid_color_ [protected]

Definition at line 262 of file gfx_object.hh.

Definition at line 244 of file gfx_object.hh.

bool use_occlusion_ [protected]

Definition at line 272 of file gfx_object.hh.

IndexedVertexArray va_ [protected]

Definition at line 240 of file gfx_object.hh.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated on 1 Mar 2018 for OpenStructure by  doxygen 1.6.1