16 #include "../geometry/BBox.h"
17 #include "../geometry/Geom.h"
19 #include "../system/BaseObject.h"
20 #include "../system/Id.h"
21 #include "../system/Precision.h"
40 _Name = iBrother._Name;
41 _LibraryPath = iBrother._LibraryPath;
42 if (0 == iBrother._FrsMaterial) {
46 _FrsMaterial =
new FrsMaterial(*(iBrother._FrsMaterial));
49 _BBox = iBrother.
bbox();
57 std::swap(_LibraryPath, ioOther._LibraryPath);
58 std::swap(_FrsMaterial, ioOther._FrsMaterial);
63 if (&iBrother !=
this) {
65 _Name = iBrother._Name;
66 _LibraryPath = iBrother._LibraryPath;
67 if (0 == iBrother._FrsMaterial) {
71 if (_FrsMaterial == 0) {
72 _FrsMaterial =
new FrsMaterial(*iBrother._FrsMaterial);
75 (*_FrsMaterial) = (*(iBrother._FrsMaterial));
77 _BBox = iBrother.
bbox();
85 if (0 != _FrsMaterial) {
97 v.visitFrsMaterial(*_FrsMaterial);
Class used to handle materials.
Class to visit (without doing anything) a scene graph structure.
ATTR_WARN_UNUSED_RESULT const BMVert * v
void setLibraryPath(const string &path)
virtual const BBox< Vec3f > & bbox() const
virtual void accept(SceneVisitor &v)
void setFrsMaterial(const FrsMaterial &iMaterial)
virtual void setBBox(const BBox< Vec3f > &iBox)
const string & getLibraryPath() const
virtual void ComputeBBox()=0
const string & getName() const
const FrsMaterial * frs_material() const
void setName(const string &name)
Rep & operator=(const Rep &iBrother)