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::EntityRenderer * | GetOrCreateRenderer (RenderMode::Type) |
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.
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] |
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, | |||
mol::Prop::Level | hint = mol::Prop::UNSPECIFIED | |||
) |
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.
void DetailColorBy | ( | const String & | prop, | |
const Gradient & | gradient, | |||
float | minv, | |||
float | maxv, | |||
mol::Prop::Level | hint = mol::Prop::UNSPECIFIED | |||
) |
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] |
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
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
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.
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 SetColorForAtom | ( | const Color & | col, | |
const mol::AtomHandle & | atom | |||
) |
set color for specific atom
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
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