Class SBGRenderStructuralModel#
ClassList > SBGRenderStructuralModel
The class SBGRenderStructuralModel is used to render the structural model node.
#include "SBGRenderStructuralModel.hpp"
Inherits the following classes: SBGRenderNode
Inherited by the following classes: SBGRenderFragment
Public Types inherited from SBGRenderNode#
See SBGRenderNode
Type | Name |
---|---|
enum | Type Available render node types. |
Public Functions#
Type | Name |
---|---|
SBGRenderStructuralModel (SBStructuralModel * model) Builds a renderer for the structural model model . |
|
SB_DECLARE_DATA (SBGRenderStructuralModel) |
|
void | collectAmbientOcclusion (const SBPosition3 & boxOrigin, const SBPosition3 & boxSize, unsigned int nCellsX, unsigned int nCellsY, unsigned int nCellsZ, float * ambientOcclusionData) Collects the ambient occlusion. |
void | connectToStructuralModel () Connect the render model to the structural model. |
void | disconnectFromStructuralModel () Disconnect the render model from the structural model. |
virtual void | display (SBNode::RenderingPass renderingPass) override Display the node. |
void | expandBounds (SBIAPosition3 & bounds) const Expands the bounds to make sure the structural model fits inside them. |
virtual void | forEachNodeDepthFirst (void(*)(SBGRenderNode *node) action) override Performs the action on this render structural model. |
virtual void | forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBGRenderNode *node) action) override Performs the object 'saction on this render structural model. |
const float * | getAtomColorData () const Return the atom color data. |
const unsigned int * | getAtomFlagData () const Return the atom flag data. |
const unsigned int * | getAtomNodeIndexData () const Return the atom node index data. |
const SBPointerIndexer< SBNode > * | getAtomPointerIndexer () const Return the index of currently displayed atoms. |
const float * | getAtomPositionData () const Return the atom position data. |
float | getAtomRadius () const Returns the constant atom radius for rendering. |
float | getAtomSizeProportionalToVdWRadius () const Returns the atom size proportional to atom van der Waals radius. |
const float * | getBondAtomColorData () const Return the bond atom color data. |
const unsigned int * | getBondAtomIndexData () const Return the bond atom index data. |
const SBPointerIndexer< SBNode > * | getBondAtomPointerIndexer () const Return the index of atoms in currently displayed bonds. |
const float * | getBondAtomPositionData () const Return the bond atom position data. |
const float * | getBondDisplacementData () const Return the bond displacement data. |
const unsigned int * | getBondFlagData () const Return the bond flag data. |
bool | getBondMultipleDisplay () const Returns bond multiple display flag. |
const unsigned int * | getBondNodeIndexData () const Return the bond node index data. |
const float * | getBondOrderData () const Return the bond order data. |
const SBPointerIndexer< SBNode > * | getBondPointerIndexer () const Return the index of currently displayed bonds. |
float | getBondRadius () const Returns the bond radius for rendering. |
bool | getConstantAtomRadiusFlag () const Returns true if all atoms should be displayed with the same radius,false if atoms should be displayed with radii proportional to their van der Waals radii. |
const unsigned int * | getHydrogenBondAtomIndexData () const Return the H-bond atom index data. |
const SBPointerIndexer< SBNode > * | getHydrogenBondAtomPointerIndexer () const Return the index of atoms in currently displayed H-bonds. |
const float * | getHydrogenBondAtomPositionData () const Return the H-bond atom position data. |
const float * | getHydrogenBondColorData () const Return the H-bond atom color data. |
const unsigned int * | getHydrogenBondFlagData () const Return the H-bond flag data. |
const unsigned int * | getHydrogenBondNodeIndexData () const Return the H-bond node index data. |
const float * | getHydrogenBondOrderData () const Return the H-bond order data. |
const SBPointerIndexer< SBNode > * | getHydrogenBondPointerIndexer () const Return the index of currently displayed H-bonds. |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection) override Populates selection with this node. |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection, SBGRenderNode::Type type) override Populates selection with this node if it has the render node typetype __ |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection, bool(*)(SBGRenderNode *) selectionRule) override Populates selection with this node based on theselectionRule __ |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection, bool(*)(SBGRenderNode *) visitRule, bool(*)(SBGRenderNode *) selectionRule) override Populates selection with this node based on thevisitRule andselectionRule __ |
virtual Type | getType () override const Returns SBGRenderNode::Type::StructuralModel . |
void | onBaseEvent (SBBaseEvent * event) Handle structural model events. |
void | onStructuralEvent (SBStructuralEvent * event) Handle structural events from structural models (moves, etc.) |
virtual void | print (unsigned int offset=0) override const Print debug information. |
void | setAtomRadius (float atomRadius) Sets the constant atom radius for rendering. |
void | setAtomSizeProportionalToVdWRadius (float ratio) Sets the atom size proportional to atom van der Waals radius. |
void | setBondMultipleDisplay (bool multipleDisplay) Sets bond multiple display flag. |
void | setBondRadius (float bondRadius) Sets the bond radius for rendering. |
void | setConstantAtomRadiusFlag (bool flag) Set true if atoms should be displayed with the same radius,false if atoms should be displayed with radii proportional to their van der Waals radii. |
void | setupFlagData (SBNode * root) Update the flags in the tree starting at root. |
virtual | ~SBGRenderStructuralModel () Destructor. |
Public Functions inherited from SBGRenderNode#
See SBGRenderNode
Type | Name |
---|---|
virtual void | display (SBNode::RenderingPass renderingPass) = 0 Display the node. |
virtual void | forEachNodeDepthFirst (void(*)(SBGRenderNode *node) action) Performs the action on this render node. |
virtual void | forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBGRenderNode *node) action) Performs the object 'saction on this render node. |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection) Populates selection with this node. |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection, SBGRenderNode::Type type) Populates selection with this node if it has the render node typetype __ |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection, bool(*)(SBGRenderNode *) selectionRule) Populates selection with this node based on theselectionRule __ |
virtual void | getNodes (std::vector< SBGRenderNode * > & selection, bool(*)(SBGRenderNode *) visitRule, bool(*)(SBGRenderNode *) selectionRule) Populates selection with this node based on thevisitRule andselectionRule __ |
virtual SBGRenderNode * | getParent () const Return parent of the render node. |
virtual Type | getType () const Return type of the render node. |
virtual void | print (unsigned int offset=0) const Print debug information. |
virtual void | requestViewportUpdate () Request a viewport update. |
Public Functions inherited from SBCReferenceTarget#
Type | Name |
---|---|
SBCReferenceTarget () Builds the reference target. |
|
unsigned int | getMemoryFootprint () const Returns the memory footprint. |
void | printReferencesToOwners () const Prints the references to the owners of this reference target. |
virtual | ~SBCReferenceTarget () Destructor. |
Public Static Functions#
Type | Name |
---|---|
bool | selectAll (SBNode * node) Returns true __ |
bool | selectHighlightedNodes (SBNode * node) Returns true if thenode is highlighted. |
bool | selectNodesByType (SBNode * node) Returns whether the node has the specified node typetype __ |
bool | selectSelectedNodes (SBNode * node) Returns true if thenode is selected. |
bool | selectVisibleNodes (SBNode * node) Returns true if thenode is visible. |
Public Static Functions inherited from SBGRenderNode#
See SBGRenderNode
Type | Name |
---|---|
void | forEachNodeInSelection (std::vector< SBGRenderNode * > & selection, void(*)(SBGRenderNode *node) action) Performs the action on each render node inselection __ |
void | forEachNodeInSelection (std::vector< SBGRenderNode * > & selection, SBCClass * object, void(SBCClass::*)(SBGRenderNode *node) action) Performs the object 'saction on each render node in `selection. |
std::string | getTypeString (Type type) Return string representation of the type of the render node. |
Protected Attributes#
Type | Name |
---|---|
SBGRenderStructuralModelData * | dataPointer A pointer to the private data. |
Protected Attributes inherited from SBCReferenceTarget#
Type | Name |
---|---|
SBCReferenceTargetData * | dataPointer A pointer to the private data. |
Protected Functions#
Type | Name |
---|---|
void | addStructuralNodes () Add structural nodes to internal data structures. |
void | addStructuralNodes (SBNode * root) Add structural nodes to internal data structures. |
void | copyAtomData (unsigned int & sourceIndex, unsigned int & destinationIndex) |
void | copyBondAtomData (unsigned int & sourceIndex, unsigned int & destinationIndex) |
void | copyBondData (unsigned int & sourceIndex, unsigned int & destinationIndex) |
void | copyHydrogenBondAtomData (unsigned int sourceIndex, unsigned int destinationIndex) |
void | copyHydrogenBondData (unsigned int sourceIndex, unsigned int destinationIndex) |
void | moveAtom (SBAtom * atom) |
void | removeStructuralNodes () Remove structural nodes from internal data structures. |
void | removeStructuralNodes (SBNode * root) Remove structural nodes from internal data structures. |
void | setupAtomData (SBAtom * atom, unsigned int & index) |
void | setupBondAtomData (SBAtom * atom, unsigned int & index) |
void | setupBondData (SBBond * bond, unsigned int & index) |
void | setupBondDisplacementData (SBBond * bond, unsigned int & index) |
void | setupHydrogenBondAtomData (SBAtom * atom, unsigned int index) |
void | setupHydrogenBondColorData (SBHydrogenBond * hydrogenBond, unsigned int index) |
void | setupHydrogenBondData (SBHydrogenBond * hydrogenBond, unsigned int index) |
void | setupHydrogenBondOrderData (SBHydrogenBond * hydrogenBond, unsigned int index) |
void | setupMaterials (SBNode * root) |
void | updateAtomRadiusData () |
void | updateAtomRadiusData (SBAtom * atom) |
void | updateHydrogenBondOrderData () |
void | updateHydrogenBonds () |
void | updateStructuralNodes () Display attributes. |
Protected Functions inherited from SBGRenderNode#
See SBGRenderNode
Type | Name |
---|---|
SBGRenderNode () Build a base object. |
|
virtual | ~SBGRenderNode () Destructor. |
Protected Functions inherited from SBCReferenceTarget#
Type | Name |
---|---|
SBCReferenceTarget (SBCReferenceTargetData * dataPointer) Protected constructor. |
|
void | removeAllReferenceOwners () Stops all the reference owners from referencing this reference target. |
Public Functions Documentation#
function SBGRenderStructuralModel#
Builds a renderer for the structural model model
.
function SB_DECLARE_DATA#
function collectAmbientOcclusion#
Collects the ambient occlusion.
void SBGRenderStructuralModel::collectAmbientOcclusion (
const SBPosition3 & boxOrigin,
const SBPosition3 & boxSize,
unsigned int nCellsX,
unsigned int nCellsY,
unsigned int nCellsZ,
float * ambientOcclusionData
)
function connectToStructuralModel#
Connect the render model to the structural model.
function disconnectFromStructuralModel#
Disconnect the render model from the structural model.
function display#
Display the node.
Implements SBGRenderNode::display
function expandBounds#
Expands the bounds to make sure the structural model fits inside them.
function forEachNodeDepthFirst [1/2]#
Performs the action
on this render structural model.
virtual void SBGRenderStructuralModel::forEachNodeDepthFirst (
void(*)( SBGRenderNode *node) action
) override
Implements SBGRenderNode::forEachNodeDepthFirst
function forEachNodeDepthFirst [2/2]#
Performs the object
'saction
on this render structural model.
virtual void SBGRenderStructuralModel::forEachNodeDepthFirst (
SBCClass * object,
void(SBCClass::*)( SBGRenderNode *node) action
) override
Implements SBGRenderNode::forEachNodeDepthFirst
function getAtomColorData#
Return the atom color data.
function getAtomFlagData#
Return the atom flag data.
function getAtomNodeIndexData#
Return the atom node index data.
function getAtomPointerIndexer#
Return the index of currently displayed atoms.
function getAtomPositionData#
Return the atom position data.
function getAtomRadius#
Returns the constant atom radius for rendering.
function getAtomSizeProportionalToVdWRadius#
Returns the atom size proportional to atom van der Waals radius.
function getBondAtomColorData#
Return the bond atom color data.
function getBondAtomIndexData#
Return the bond atom index data.
function getBondAtomPointerIndexer#
Return the index of atoms in currently displayed bonds.
function getBondAtomPositionData#
Return the bond atom position data.
function getBondDisplacementData#
Return the bond displacement data.
function getBondFlagData#
Return the bond flag data.
function getBondMultipleDisplay#
Returns bond multiple display flag.
function getBondNodeIndexData#
Return the bond node index data.
function getBondOrderData#
Return the bond order data.
function getBondPointerIndexer#
Return the index of currently displayed bonds.
function getBondRadius#
Returns the bond radius for rendering.
function getConstantAtomRadiusFlag#
Returns true
if all atoms should be displayed with the same radius,false
if atoms should be displayed with radii proportional to their van der Waals radii.
function getHydrogenBondAtomIndexData#
Return the H-bond atom index data.
function getHydrogenBondAtomPointerIndexer#
Return the index of atoms in currently displayed H-bonds.
const SBPointerIndexer< SBNode > * SBGRenderStructuralModel::getHydrogenBondAtomPointerIndexer () const
function getHydrogenBondAtomPositionData#
Return the H-bond atom position data.
function getHydrogenBondColorData#
Return the H-bond atom color data.
function getHydrogenBondFlagData#
Return the H-bond flag data.
function getHydrogenBondNodeIndexData#
Return the H-bond node index data.
function getHydrogenBondOrderData#
Return the H-bond order data.
function getHydrogenBondPointerIndexer#
Return the index of currently displayed H-bonds.
function getNodes [1/4]#
Populates selection
with this node.
virtual void SBGRenderStructuralModel::getNodes (
std::vector< SBGRenderNode * > & selection
) override
Implements SBGRenderNode::getNodes
function getNodes [2/4]#
Populates selection
with this node if it has the render node typetype
__
virtual void SBGRenderStructuralModel::getNodes (
std::vector< SBGRenderNode * > & selection,
SBGRenderNode::Type type
) override
Implements SBGRenderNode::getNodes
function getNodes [3/4]#
Populates selection
with this node based on theselectionRule
__
virtual void SBGRenderStructuralModel::getNodes (
std::vector< SBGRenderNode * > & selection,
bool(*)( SBGRenderNode *) selectionRule
) override
Implements SBGRenderNode::getNodes
function getNodes [4/4]#
Populates selection
with this node based on thevisitRule
andselectionRule
__
virtual void SBGRenderStructuralModel::getNodes (
std::vector< SBGRenderNode * > & selection,
bool(*)( SBGRenderNode *) visitRule,
bool(*)( SBGRenderNode *) selectionRule
) override
Implements SBGRenderNode::getNodes
function getType#
Returns SBGRenderNode::Type::StructuralModel .
Implements SBGRenderNode::getType
function onBaseEvent#
Handle structural model events.
function onStructuralEvent#
Handle structural events from structural models (moves, etc.)
function print#
Print debug information.
Implements SBGRenderNode::print
function setAtomRadius#
Sets the constant atom radius for rendering.
function setAtomSizeProportionalToVdWRadius#
Sets the atom size proportional to atom van der Waals radius.
function setBondMultipleDisplay#
Sets bond multiple display flag.
function setBondRadius#
Sets the bond radius for rendering.
function setConstantAtomRadiusFlag#
Set true
if atoms should be displayed with the same radius,false
if atoms should be displayed with radii proportional to their van der Waals radii.
function setupFlagData#
Update the flags in the tree starting at root.
function ~SBGRenderStructuralModel#
Destructor.
Public Static Functions Documentation#
function selectAll#
Returns true
__
function selectHighlightedNodes#
Returns true
if thenode
is highlighted.
function selectNodesByType#
Returns whether the node
has the specified node typetype
__
template<SBNode::Type type>
static inline bool SBGRenderStructuralModel::selectNodesByType (
SBNode * node
)
function selectSelectedNodes#
Returns true
if thenode
is selected.
function selectVisibleNodes#
Returns true
if thenode
is visible.
Protected Attributes Documentation#
variable dataPointer#
A pointer to the private data.
Protected Functions Documentation#
function addStructuralNodes [1/2]#
Add structural nodes to internal data structures.
function addStructuralNodes [2/2]#
Add structural nodes to internal data structures.
function copyAtomData#
void SBGRenderStructuralModel::copyAtomData (
unsigned int & sourceIndex,
unsigned int & destinationIndex
)
function copyBondAtomData#
void SBGRenderStructuralModel::copyBondAtomData (
unsigned int & sourceIndex,
unsigned int & destinationIndex
)
function copyBondData#
void SBGRenderStructuralModel::copyBondData (
unsigned int & sourceIndex,
unsigned int & destinationIndex
)
function copyHydrogenBondAtomData#
void SBGRenderStructuralModel::copyHydrogenBondAtomData (
unsigned int sourceIndex,
unsigned int destinationIndex
)
function copyHydrogenBondData#
void SBGRenderStructuralModel::copyHydrogenBondData (
unsigned int sourceIndex,
unsigned int destinationIndex
)
function moveAtom#
function removeStructuralNodes [1/2]#
Remove structural nodes from internal data structures.
function removeStructuralNodes [2/2]#
Remove structural nodes from internal data structures.
function setupAtomData#
function setupBondAtomData#
function setupBondData#
function setupBondDisplacementData#
function setupHydrogenBondAtomData#
function setupHydrogenBondColorData#
void SBGRenderStructuralModel::setupHydrogenBondColorData (
SBHydrogenBond * hydrogenBond,
unsigned int index
)
function setupHydrogenBondData#
void SBGRenderStructuralModel::setupHydrogenBondData (
SBHydrogenBond * hydrogenBond,
unsigned int index
)
function setupHydrogenBondOrderData#
void SBGRenderStructuralModel::setupHydrogenBondOrderData (
SBHydrogenBond * hydrogenBond,
unsigned int index
)
function setupMaterials#
function updateAtomRadiusData [1/2]#
function updateAtomRadiusData [2/2]#
function updateHydrogenBondOrderData#
function updateHydrogenBonds#
function updateStructuralNodes#
Display attributes.