27#include <Inventor/C/errors/debugerror.h>
28#include <Inventor/nodes/SoLineSet.h>
29#include <Inventor/nodes/SoVertexProperty.h>
30#include <Inventor/nodes/SoSeparator.h>
31#include <Inventor/nodes/SoMaterial.h>
32#include <Inventor/nodes/SoPickStyle.h>
33#include <Inventor/nodes/SoCylinder.h>
34#include <Inventor/nodes/SoMatrixTransform.h>
35#include <Inventor/SbRotation.h>
36#include <Inventor/SbMatrix.h>
37#include <Inventor/nodes/SoTranslation.h>
38#include <Inventor/nodes/SoText2.h>
54 static double dist(
const SbVec3f& p1,
const SbVec3f& p2);
101 QString tmp = (vis==
true)?
"True":
"False";
102 QString tmp2 = (
m_visible==
true)?
"True":
"False";
103 VP1Msg::messageDebug(QString(
"AODHandleBase calling setVisible with vis=")+tmp+QString(
", and m_visible=")+tmp2 );
139 QString tmp2 = (
m_visible==
true)?
"True":
"False";
173 SoNode* tmp =
nodes();
181 VP1Msg::message(
"AODHandleBase::attach3DObjects() - No 3D objects to attach!");
281 l <<
"baseInfo : (undefined)";
292 if (
m_d->m_objBrowseTree){
293 VP1Msg::message(
"ERROR: AODHandleBase::fillObjectBrowser - already have m_objBrowseTree. Aborting.");
297 m_d->m_objBrowseTree =
new QTreeWidgetItem();
301 m_d->m_objBrowseTree->setText(0,
type()+QString(QString::number(listOfItems.size())) );
302 m_d->m_objBrowseTree->setText(1, l );
305 m_d->m_objBrowseTree->setFlags(Qt::ItemFlags());
312 return m_d->m_objBrowseTree;
329 itemFont.setStrikeOut(!
visible());
Base class for all AOD object collections This class primarily handles setting up the interface,...
QTreeWidgetItem * m_objBrowseTree
static double dist(const SbVec3f &p1, const SbVec3f &p2)
static std::atomic< int > nobjhandles
virtual QString type() const
return very short word with type (maybe link with collection type?)
virtual void currentMaterialChanged()
void updateMaterial()
Called after some configuration related to material changes.
virtual void rebuild3DObjects()
SoMaterial * m_currentmaterial
virtual void update3DObjects()
Called after some configuration changes, or when the object is first created. Must be overloaded by c...
void setVisible(bool)
use by the collection handle.
virtual SoNode * nodes()=0
Returns the 3Dobjects.
virtual QStringList baseInfo() const
virtual void clear3DObjects()=0
Delete objects.
QTreeWidgetItem * browserTreeItem() const
Return the QTreeWidgetItem;.
virtual bool has3DObjects()
Returns true if the 3D objects have been created.
virtual QString shortInfo() const
returns mom and hit information about track
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Create and fill the object browser QTreeWidgetItem.
virtual void visibleStateChanged()
Dummy implementation does nothing.
static int numberOfInstances()
const AODSysCommonData * common() const
virtual void detach3DObjects()
Remove from the scene graph.
AODHandleBase(AODCollHandleBase *)
virtual SoMaterial * determineMaterial()=0
Should be implemented by children, in order to change the material depending on the interface etc.
virtual void attach3DObjects()
Connect to the scene graph.
AODCollHandleBase * m_collhandle
static void messageVerbose(const QString &)
static void messageDebug(const QString &)
static void message(const QString &, IVP1System *sys=0)