24 this->operator =(cone);
31 btRadius = cone.btRadius;
32 sidesVisible = cone.sidesVisible;
33 topVisible = cone.topVisible;
34 bottomVisible = cone.bottomVisible;
35 material = cone.material;
46 sidesVisible = topVisible = bottomVisible =
true;
71 float maxRadius = btRadius;
72 bBox.SetBoundingBox(-maxRadius, -maxRadius, 0, maxRadius, maxRadius, height);
77 float maxRadius = btRadius;
79 bBox.SetBoundingBox(-maxRadius, -maxRadius, 0, maxRadius, maxRadius, h);
80 ComputeRecursiveBoundingBox();
86 bBox.SetBoundingBox(-r, -r, 0, r, r, height);
87 ComputeRecursiveBoundingBox();
92 bottomVisible =
static_cast<bool>(parts & BOTTOM);
93 sidesVisible =
static_cast<bool>(parts & SIDES);
98 if (parts & BOTTOM) bottomVisible = !bottomVisible;
99 if (parts & SIDES) sidesVisible = !sidesVisible;
105 if (bottomVisible) result = result & BOTTOM;
106 if (sidesVisible) result = result & SIDES;
112 sidesVisible = yesno;
113 cerr <<
"Warning: VART::Cone::ShowSide is deprecated." << endl;
119 bottomVisible = yesno;
120 cerr <<
"Warning: VART::Cone::ShowBottom is deprecated." << endl;
135 cerr <<
"Warning: VART::Cone::ShowSide is deprecated." << endl;
141 cerr <<
"Warning: VART::Cone::ShowBottom is deprecated." << endl;
142 return bottomVisible;
145 bool VART::Cone::DrawInstanceOGL()
const
148 GLUquadricObj* qObj = gluNewQuadric();
156 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
159 glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
162 glPolygonMode(GL_FRONT, GL_FILL);
165 if ( material.GetTexture().HasData() ) {
166 gluQuadricTexture(qObj,GL_TRUE);
168 result = material.DrawOGL();
171 gluQuadricDrawStyle(qObj, GLU_FILL);
172 gluQuadricNormals(qObj, GLU_SMOOTH);
173 gluCylinder(qObj, btRadius, 0.0 , height, 15, 1);
177 gluQuadricOrientation(qObj,GLU_INSIDE);
178 gluDisk(qObj, 0.0, btRadius, 15, 1);
180 gluDeleteQuadric(qObj);
183 bBox.DrawInstanceOGL();
185 recBBox.DrawInstanceOGL();
Base class for objects that compose a scene graph.
PartsID GetPartsVisibility()
Returns internal visibility state as PartsID.
virtual VART::SceneNode * Copy()
Returns a copy of an cone. Every derived class must reimplements this method, to avoid errors with VA...
PartsID
Bitmask for cone parts.
void SetBoundingBox(double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
void SetRadius(float r)
Sets the value of bottom radius.
An scene node that is associated with a shape.
virtual void ComputeBoundingBox()
Computes the bounding box.
SceneNode & operator=(const SceneNode &node)
float GetRadius()
Returns the bottom radius.
void SetPartsVisibility(PartsID parts)
Sets which parts are visible.
Cone()
Creates an uninitialized cone.
VART::Cone & operator=(const VART::Cone &cone)
void TogglePartsVisibilty(PartsID parts)
Toogle visibility of marked parts.
Header file for V-ART class "Cone".