19#include <Inventor/nodes/SoSeparator.h>
20#include <Inventor/nodes/SoTransform.h>
21#include <Inventor/nodes/SoMaterial.h>
38 return sep&&
sep->getNumChildren()>1;
60 m_d->ensureDetach3DObjects(
this);
75 m_d->rebuild3DObjects(
this);
76 m_d->ensureAttach3DObjects(
this);
78 m_d->ensureDetach3DObjects(
this);
86 m_d->rebuild3DObjects(
this);
98 sep =
new SoSeparator;
101 sep->addChild(transform);
118 save =
sep->enableNotify(
false);
123 sep->addChild(shape);
128 sep->enableNotify(
true);
160 std::ostringstream s;
161 s <<
"0x" << std::hex << i;
162 return QString(s.str().c_str()).toUpper();
168 m_d->ensureInitSepAndTransform(
this);
170 &&
m_d->sep->getNumChildren()>0
171 &&
m_d->sep->getChild(0)->getTypeId().isDerivedFrom(SoTransform::getClassTypeId()));
174 static_cast<SoTransform*
>(
m_d->sep->getChild(0))->translation.getValue().getValue(
x,
y,
z);
VP1ExtraSepLayerHelper * sepHelper() const
void updateVolumeOutlines(SoGroup *)
void registerTransformAndHandle(SoTransform *, VP1RawDataHandleBase *)
void ensureAttach3DObjects(VP1RawDataHandleBase *theclass)
void rebuild3DObjects(VP1RawDataHandleBase *)
void ensureInitSepAndTransform(VP1RawDataHandleBase *theclass)
void ensureDetach3DObjects(VP1RawDataHandleBase *theclass)
virtual ~VP1RawDataHandleBase()
VP1RawDataCommonData * common() const
virtual SoNode * buildShape()=0
virtual SoTransform * buildTransform()=0
virtual Amg::Vector3D center()
VP1RawDataHandleBase(VP1RawDataCollBase *)
static QString unsignedToHex(unsigned)
void updateShownOutlines()
VP1RawDataCollBase * coll() const
VP1RawDataCollBase * m_coll
Eigen::Matrix< double, 3, 1 > Vector3D