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::Transform & | GetTF () 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) |
IndexedVertexArray & | GetVA () |
const IndexedVertexArray & | GetVA () 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::ColorOp > | c_ops_ |
TextPrimList | labels_ |
bool | use_occlusion_ |
main class for all graphic objects
Definition at line 51 of file gfx_object.hh.
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 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] |
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.
virtual void ContextSwitch | ( | ) | [virtual] |
rendering context switch, some things need to be regenerated
Implements GfxObjBase.
virtual void CustomPreRenderGL | ( | bool | rebuild | ) | [virtual] |
virtual void CustomRenderGL | ( | RenderPass | pass | ) | [virtual] |
virtual void CustomRenderPov | ( | PovState & | pov | ) | [virtual] |
void Debug | ( | unsigned int | flags | ) |
virtual void Export | ( | Exporter * | ex | ) | [virtual] |
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] |
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] |
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] |
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 render_depth_only | ( | ) | [protected] |
void render_labels | ( | ) | const [protected] |
virtual void RenderGL | ( | RenderPass | pass | ) | [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] |
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] |
virtual void SetOutline | ( | bool | f | ) | [virtual] |
turn outline rendering on or off
Implements GfxObjBase.
virtual void SetOutlineExpandColor | ( | const Color & | c | ) | [virtual] |
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] |
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 | ) |
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.
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.
RenderMode::Type render_mode_ [protected] |
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.
geom::Transform transform_ [protected] |
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.