Entity Class Reference

graphical rendering of mol::EntityHandle entites More...

#include <entity.hh>

Inherits ost::gfx::GfxObj.

Public Member Functions

 Entity (const String &name, const mol::EntityHandle &eh, const mol::Query &q=mol::Query(), mol::QueryFlags f=0)
 Entity (const String &name, RenderMode::Type m, const mol::EntityHandle &eh, const mol::Query &q=mol::Query(), mol::QueryFlags f=0)
 Entity (const String &name, const mol::EntityView &ev)
 Entity (const String &name, RenderMode::Type m, const mol::EntityView &ev)
virtual ~Entity ()
virtual geom::AlignedCuboid GetBoundingBox (bool use_tf=false) const
virtual void CustomRenderGL (RenderPass pass)
virtual void RefreshVA ()
virtual bool OnSelect (const geom::Line3 &l, geom::Vec3 &result, float zlim, bool pick_flag)
mol::AtomHandle PickAtom (const geom::Line3 &line, Real line_width=0.5)
mol::BondHandle PickBond (const geom::Line3 &line, Real line_width=0.5)
virtual void OnRenderModeChange ()
const String GetRenderModeName (RenderMode::Type mode)
void SetEnableRenderMode (RenderMode::Type mode, bool enable)
bool IsRenderModeEnabled (RenderMode::Type mode)
RenderModeTypes GetNotEmptyRenderModes ()
void SetRenderMode (RenderMode::Type mode, const mol::EntityView &view, bool keep=false)
void SetRenderMode (RenderMode::Type mode, const String &selection, bool keep=false)
virtual void SetRenderMode (RenderMode::Type mode)
mol::EntityView GetRenderView (RenderMode::Type mode)
virtual void SetVisible (const mol::EntityView &view, bool visible)
virtual void SetVisible (const String &sel, bool visible)
virtual void OptionsChanged (RenderMode::Type mode)
virtual void SetOpacity (float f)
virtual float GetOpacity () const
virtual void SetOutlineWidth (float f)
virtual void SetOutlineExpandFactor (float f)
virtual void SetOutlineExpandColor (const Color &c)
virtual void SetClipOffset (float f)
void Reset (const mol::EntityHandle &eh)
void Reset (const mol::EntityHandle &eh, const mol::Query &q)
void Reset (const mol::EntityHandle &eh, const mol::Query &q, mol::QueryFlags flags)
void Reset (const mol::EntityView &ev)
void Rebuild ()
void UpdatePositions ()
void UpdateView ()
void SetColor (const Color &col, const String &selection=String(""))
void SetDetailColor (const Color &col, const String &selection=String(""))
void SetColorForAtom (const Color &col, const mol::AtomHandle &atom)
void ColorByElement ()
void ColorByElement (const String &selection)
void ColorByChain ()
void ColorByChain (const String &selection)
mol::EntityView GetView () const
void SetQuery (const mol::Query &q)
mol::QueryViewWrapper GetQueryView () const
void SetQueryView (const mol::QueryViewWrapper &qv)
mol::EntityHandle GetEntity () const
void SetBlur (bool f)
void BlurSnapshot ()
void SetBlurFactors (float bf1, float bf2)
void SetSelection (const mol::EntityView &view)
mol::EntityView GetSelection () 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)
void ColorBy (const String &prop, const Gradient &gradient, float minv, float maxv, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void ColorBy (const String &prop, const Gradient &gradient, float minv, float maxv, bool clamp)
void DetailColorBy (const String &prop, const Gradient &gradient, float minv, float maxv, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void ColorBy (const String &prop, const Gradient &gradient, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void ColorBy (const String &prop, const Gradient &gradient, const String &selection)
void ColorBy (const String &prop, const Color &c1, const Color &c2, float min, float max, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void ColorBy (const String &prop, const Color &c1, const Color &c2, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void RadiusBy (const String &prop, float rmin, float rmax, float vmin, float vmax, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void RadiusBy (const String &prop, float rmin, float rmax, mol::Prop::Level hint=mol::Prop::UNSPECIFIED)
void ResetRadiusBy ()
void Apply (const gfx::ByElementColorOp &op, bool store=true)
void Apply (const gfx::ByChainColorOp &op, bool store=true)
void Apply (const gfx::UniformColorOp &op, bool store=true)
void Apply (const gfx::GradientLevelColorOp &op, bool store=true)
void Apply (const gfx::EntityViewColorOp &op, bool store=true)
void Apply (const gfx::MapHandleColorOp &op, bool store=true)
void CleanColorOps ()
void ReapplyColorOps ()
RenderOptionsPtr GetOptions (RenderMode::Type render_mode)
void SetOptions (RenderMode::Type render_mode, RenderOptionsPtr &render_options)
void ApplyOptions (RenderMode::Type render_mode, RenderOptionsPtr &render_options)
bool HasSelection () const
void SetSeqHack (bool b)
bool GetSeqHack () const
virtual void Export (Exporter *ex)

Protected Member Functions

virtual void CustomPreRenderGL (bool flag)
virtual void CustomRenderPov (PovState &pov)
void UpdateSelection ()
bool UpdateIfNeeded () const
void CacheBoundingBox () const
impl::EntityRendererGetOrCreateRenderer (RenderMode::Type)

Detailed Description

graphical rendering of mol::EntityHandle entites

Entity is responsible for rendering of molecular entities. A bunch of different RenderMode::Type render modes are supported. To switch the render mode of the full entity, Entity::SetRenderMode(RenderMode::Type) can be used. To only change one part to a different rendering style, use Entity::SetRenderMode(RenderMode::Type, mol::EntityView, bool)

Definition at line 63 of file entity.hh.


Constructor & Destructor Documentation

Entity ( const String name,
const mol::EntityHandle eh,
const mol::Query q = mol::Query(),
mol::QueryFlags  f = 0 
)

Initialize with an object name, an mol::Entity handle, and optionally with a mol::Query.

If the latter is ommitted, the full view is displayed. A later call to Rebuild() will re-apply the mol::Query to the given mol::EntityHandle

Entity ( const String name,
RenderMode::Type  m,
const mol::EntityHandle eh,
const mol::Query q = mol::Query(),
mol::QueryFlags  f = 0 
)

variant with explicit graphics mode instead of the default

Entity ( const String name,
const mol::EntityView ev 
)

Initialize with an object name and an explicit mol::Entity view; later calls to Rebuild always use this mol::Entity view.

Entity ( const String name,
RenderMode::Type  m,
const mol::EntityView ev 
)

ctor variant with explicit graphics mode instead of the default

virtual ~Entity (  )  [virtual]

Member Function Documentation

void Apply ( const gfx::MapHandleColorOp op,
bool  store = true 
)
void Apply ( const gfx::EntityViewColorOp op,
bool  store = true 
)
void Apply ( const gfx::GradientLevelColorOp op,
bool  store = true 
)
void Apply ( const gfx::UniformColorOp op,
bool  store = true 
)
void Apply ( const gfx::ByChainColorOp op,
bool  store = true 
)
void Apply ( const gfx::ByElementColorOp op,
bool  store = true 
)
void ApplyOptions ( RenderMode::Type  render_mode,
RenderOptionsPtr render_options 
)
void BlurSnapshot (  ) 
void CacheBoundingBox (  )  const [protected]
void CleanColorOps (  ) 

Reimplemented from GfxObj.

void ColorBy ( const String prop,
const Color c1,
const Color c2,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
void ColorBy ( const String prop,
const Color c1,
const Color c2,
float  min,
float  max,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
void ColorBy ( const String prop,
const Gradient gradient,
const String selection 
)
void ColorBy ( const String prop,
const Gradient gradient,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
void ColorBy ( const String prop,
const Gradient gradient,
float  minv,
float  maxv,
bool  clamp 
)
void ColorBy ( const String prop,
const Gradient gradient,
float  minv,
float  maxv,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
virtual void ColorBy ( const img::MapHandle mh,
const String prop,
const Gradient g,
float  minv,
float  maxv 
) [virtual]

color based on image

Reimplemented from GfxObj.

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

Reimplemented from GfxObj.

void ColorByChain ( const String selection  ) 

color by chain for a specific selection

void ColorByChain (  ) 

color by chain

void ColorByElement ( const String selection  ) 

color by element for a specific selection

void ColorByElement (  ) 

color by element

virtual void CustomPreRenderGL ( bool  flag  )  [protected, virtual]

Reimplemented from GfxObj.

virtual void CustomRenderGL ( RenderPass  pass  )  [virtual]

internal routine

Reimplemented from GfxObj.

virtual void CustomRenderPov ( PovState pov  )  [protected, virtual]

Reimplemented from GfxObj.

void DetailColorBy ( const String prop,
const Gradient gradient,
float  minv,
float  maxv,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
virtual void Export ( Exporter ex  )  [virtual]

Reimplemented from GfxObj.

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 from GfxObj.

mol::EntityHandle GetEntity (  )  const

return underlying entity

RenderModeTypes GetNotEmptyRenderModes (  ) 
virtual float GetOpacity (  )  const [inline, virtual]

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

Reimplemented from GfxObj.

Definition at line 148 of file entity.hh.

RenderOptionsPtr GetOptions ( RenderMode::Type  render_mode  ) 

Get render options for given render mode.

In Python, also available as the properties:

  • sline_options
  • simple_options
  • tube_options
  • cartoon_options
  • cpk_options
  • trace_options
  • custom_options
impl::EntityRenderer* GetOrCreateRenderer ( RenderMode::Type   )  [protected]
mol::QueryViewWrapper GetQueryView (  )  const

return internally used query view

const String GetRenderModeName ( RenderMode::Type  mode  ) 
mol::EntityView GetRenderView ( RenderMode::Type  mode  ) 
mol::EntityView GetSelection (  )  const

get selection

See also:
gfx_ent
bool GetSeqHack (  )  const
mol::EntityView GetView (  )  const

get view

bool HasSelection (  )  const
bool IsRenderModeEnabled ( RenderMode::Type  mode  ) 
virtual void OnRenderModeChange (  )  [virtual]

Reimplemented from GfxObj.

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

Reimplemented from GfxObj.

virtual void OptionsChanged ( RenderMode::Type  mode  )  [virtual]
mol::AtomHandle PickAtom ( const geom::Line3 line,
Real  line_width = 0.5 
)

pick atom

In case the line intersects several atoms, the atom closest to the near clipping plane is returned. Returns an invalid handle in case no atom was close to the line

Todo:
honour object transformation
mol::BondHandle PickBond ( const geom::Line3 line,
Real  line_width = 0.5 
)

pick bond

In case the line intersects several bonds, the bond closest to the near clipping plane is returned. Returns an invalid handle if no bond was close to the line.

Todo:
honour object transformation
void RadiusBy ( const String prop,
float  rmin,
float  rmax,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
void RadiusBy ( const String prop,
float  rmin,
float  rmax,
float  vmin,
float  vmax,
mol::Prop::Level  hint = mol::Prop::UNSPECIFIED 
)
void ReapplyColorOps (  ) 

Reimplemented from GfxObj.

void Rebuild (  ) 

rebuild graphical object (see ctor comments)

virtual void RefreshVA (  )  [virtual]
void Reset ( const mol::EntityView ev  ) 

resets entity view this as the same effect as the ctor call with the same parameters

void Reset ( const mol::EntityHandle eh,
const mol::Query q,
mol::QueryFlags  flags 
)

resets used entity handle, query and flags this has the same effect as the ctor call with the same parameters

void Reset ( const mol::EntityHandle eh,
const mol::Query q 
)

resets used entity handle and query replaces underlying entity and query, keeps flags intact

void Reset ( const mol::EntityHandle eh  ) 

resets used entity handle replaces underlying entity, keeps query and flags intact

void ResetRadiusBy (  ) 
void SetBlur ( bool  f  ) 
void SetBlurFactors ( float  bf1,
float  bf2 
)
virtual void SetClipOffset ( float  f  )  [virtual]

Reimplemented from GfxObj.

void SetColor ( const Color col,
const String selection = String("") 
)

set color for selection

void SetColorForAtom ( const Color col,
const mol::AtomHandle atom 
)

set color for specific atom

void SetDetailColor ( const Color col,
const String selection = String("") 
)
void SetEnableRenderMode ( RenderMode::Type  mode,
bool  enable 
)
virtual void SetOpacity ( float  f  )  [virtual]

set opacity (1 = no transparency)

Reimplemented from GfxObj.

void SetOptions ( RenderMode::Type  render_mode,
RenderOptionsPtr render_options 
)
virtual void SetOutlineExpandColor ( const Color c  )  [virtual]

set outline color (mode 3)

Reimplemented from GfxObj.

virtual void SetOutlineExpandFactor ( float  f  )  [virtual]

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

Reimplemented from GfxObj.

virtual void SetOutlineWidth ( float  f  )  [virtual]

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

Reimplemented from GfxObj.

void SetQuery ( const mol::Query q  ) 

set a new query to use (deprecated) this will re-create the object based on the given selection

void SetQueryView ( const mol::QueryViewWrapper qv  ) 

set new query view, rebuilding object

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

change render mode

Reimplemented from GfxObj.

void SetRenderMode ( RenderMode::Type  mode,
const String selection,
bool  keep = false 
)
void SetRenderMode ( RenderMode::Type  mode,
const mol::EntityView view,
bool  keep = false 
)
void SetSelection ( const mol::EntityView view  ) 

set selection

See also:
gfx_ent
void SetSeqHack ( bool  b  ) 
virtual void SetVisible ( const String sel,
bool  visible 
) [virtual]
virtual void SetVisible ( const mol::EntityView view,
bool  visible 
) [virtual]
bool UpdateIfNeeded (  )  const [protected]
void UpdatePositions (  ) 

only grab updated positions, dont rebuild the whole thing views won't be regenerated from stored queries

void UpdateSelection (  )  [protected]
void UpdateView (  ) 

forces all views to be regenerated from stored queries


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