OpenStructure
|
#include <entity.hh>
Inherits 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) |
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 | 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) |
Public Member Functions inherited from GfxObj | |
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 | 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 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 float | GetOutlineWidth () const |
virtual float | GetOutlineExpandFactor () const |
virtual Color | GetOutlineExpandColor () 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 float | GetClipOffset () const |
virtual void | ProcessLimits (geom::Vec3 &minc, geom::Vec3 &maxc, const geom::Transform &tf) const |
virtual void | InitGL () |
virtual void | OnInput (const InputEvent &e) |
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 |
Public Member Functions inherited from GfxObjBase | |
GfxObjBase (const String &name) | |
Public Member Functions inherited from GfxNode | |
GfxNode (const String &name) | |
virtual | ~GfxNode () |
virtual void | DeepSwap (GfxNode &n) |
String | GetName () const |
void | RemoveAll () |
void | Rename (const String &name) |
void | Add (GfxObjP obj) |
bool | IsNameAvailable (const String &name) const |
void | Remove (GfxObjP obj) |
void | Add (GfxNodeP node) |
void | Remove (GfxNodeP node) |
void | Remove (const String &name) |
size_t | GetChildCount () const |
void | Hide () |
void | Show () |
bool | IsVisible () const |
bool | IsAttachedToScene () const |
gfx::GfxNodeP | GetParent () const |
const GfxNodeVector & | GetChildren () const |
GfxNodeVector & | GetChildren () |
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) |
Protected Member Functions inherited from GfxObj | |
void | PreRenderGL (bool flag) |
void | AppendColorOp (gfx::ColorOp *op) |
void | CleanColorOps () |
void | ReapplyColorOps () |
void | render_labels () const |
void | render_depth_only () |
Additional Inherited Members | |
Static Public Member Functions inherited from GfxObj | |
static Color | Ele2Color (const String &ele) |
Protected Attributes inherited from GfxObj | |
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_ |
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)
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 |
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 ApplyOptions | ( | RenderMode::Type | render_mode, |
RenderOptionsPtr & | render_options | ||
) |
void BlurSnapshot | ( | ) |
|
protected |
void CleanColorOps | ( | ) |
|
virtual |
color each component based on the gradient-mapped property of the given entity
Reimplemented from GfxObj.
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, | ||
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 Color & | c1, | ||
const Color & | c2, | ||
mol::Prop::Level | hint = mol::Prop::UNSPECIFIED |
||
) |
void ColorByChain | ( | ) |
color by chain
void ColorByChain | ( | const String & | selection | ) |
color by chain for a specific selection
void ColorByElement | ( | ) |
color by element
void ColorByElement | ( | const String & | selection | ) |
color by element for a specific selection
|
protectedvirtual |
Reimplemented from GfxObj.
|
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 |
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 | ( | ) |
|
inlinevirtual |
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
|
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 |
Reimplemented from GfxObj.
|
virtual |
Reimplemented from GfxObj.
|
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, | ||
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 ReapplyColorOps | ( | ) |
void Rebuild | ( | ) |
rebuild graphical object (see ctor comments)
|
virtual |
void Reset | ( | const mol::EntityHandle & | eh | ) |
resets used entity handle replaces underlying entity, keeps query and flags intact
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, |
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::EntityView & | ev | ) |
resets entity view this as the same effect as the ctor call with the same parameters
void ResetRadiusBy | ( | ) |
void SetBlur | ( | bool | f | ) |
void SetBlurFactors | ( | float | bf1, |
float | bf2 | ||
) |
|
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 |
set opacity (1 = no transparency)
Reimplemented from GfxObj.
void SetOptions | ( | RenderMode::Type | render_mode, |
RenderOptionsPtr & | render_options | ||
) |
|
virtual |
set outline color (mode 3)
Reimplemented from GfxObj.
|
virtual |
set outline expansion factor (mode 3) this scales with resolution
Reimplemented from GfxObj.
|
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
void SetRenderMode | ( | RenderMode::Type | mode, |
const mol::EntityView & | view, | ||
bool | keep = false |
||
) |
void SetRenderMode | ( | RenderMode::Type | mode, |
const String & | selection, | ||
bool | keep = false |
||
) |
|
virtual |
change render mode
Reimplemented from GfxObj.
void SetSelection | ( | const mol::EntityView & | view | ) |
set selection
void SetSeqHack | ( | bool | b | ) |
|
virtual |
|
virtual |
|
protected |
void UpdatePositions | ( | ) |
only grab updated positions, dont rebuild the whole thing views won't be regenerated from stored queries
|
protected |
void UpdateView | ( | ) |
forces all views to be regenerated from stored queries