From d1dace5f933806fab6808fb5ef7754b0c7949c53 Mon Sep 17 00:00:00 2001 From: Ansgar Philippsen <ansgar.philippsen@gmail.com> Date: Thu, 27 Oct 2011 10:38:12 -0400 Subject: [PATCH] added temporary implementation to allow tube rendering with per-residue diameter --- modules/gfx/src/impl/backbone_trace.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/gfx/src/impl/backbone_trace.cc b/modules/gfx/src/impl/backbone_trace.cc index 01bbfb265..ad9e8c961 100644 --- a/modules/gfx/src/impl/backbone_trace.cc +++ b/modules/gfx/src/impl/backbone_trace.cc @@ -84,11 +84,15 @@ public: // determine atom to add to list mol::AtomHandle ca = res.GetCentralAtom(); if (ca) { + float rad=1.0; + if(ca.HasProp("trace_rad")) { + rad=ca.GetFloatProp("trace_rad"); + } NodeEntry entry={ca, GfxObj::Ele2Color(ca.GetElement()), GfxObj::Ele2Color(ca.GetElement()), geom::Vec3(), // this will be set by the gfx trace obj res.GetCentralNormal(), - 1.0, + rad, geom::Vec3(),geom::Vec3(),geom::Vec3(), // for later use in NA rendering false,id_counter_++}; list_.push_back(entry); @@ -164,7 +168,13 @@ void BackboneTrace::OnUpdatedPositions() for(NodeEntryListList::iterator nitnit=node_list_list_.begin();nitnit!=node_list_list_.end();++nitnit) { NodeEntryList& nlist=*nitnit; for(NodeEntryList::iterator nit=nlist.begin();nit!=nlist.end();++nit) { - nit->normal=nit->atom.GetResidue().GetCentralNormal(); + mol::AtomHandle ca=nit->atom; + nit->normal=ca.GetResidue().GetCentralNormal(); + if(ca.HasProp("trace_rad")) { + nit->rad=ca.GetFloatProp("trace_rad"); + } else { + nit->rad=1.0; + } } PrepList(nlist); } -- GitLab