BALL  1.5.0
twoColoredTube.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: twoColoredTube.h,v 1.11.16.1 2007-03-25 21:26:12 oliver Exp $
5 //
6 
7 #ifndef BALL_VIEW_PRIMITIVES_TWOCOLOREDTUBE_H
8 #define BALL_VIEW_PRIMITIVES_TWOCOLOREDTUBE_H
9 
10 #ifndef BALL_VIEW_DATATYPE_COLOREXTENSIONS_H
12 #endif
13 
14 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
16 #endif
17 
18 #ifndef BALL_VIEW_DATATYPE_VERTEX2_H
20 #endif
21 
22 namespace BALL
23 {
24  namespace VIEW
25  {
46  : public GeometricObject,
47  public ColorExtension2,
48  public Vertex2
49  {
50  public:
51 
53 
54 
57 
73 
79  TwoColoredTube(const TwoColoredTube& two_colored_tube);
80 
82 
84 
88  virtual ~TwoColoredTube();
89 
99  virtual void clear();
100 
102 
104 
110  void set(const TwoColoredTube& two_colored_tube);
111 
115  const TwoColoredTube& operator = (const TwoColoredTube& two_colored_tube);
116 
119  void swap(TwoColoredTube& two_colored_tube);
120 
122 
125 
130  float getLength() const;
131 
138  Vector3 getMiddleVertex() const;
139 
141 
144 
156  virtual bool isValid() const;
157 
172  virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
173 
175 
177 
179  float getRadius() const
180  { return radius_;}
181 
183  void setRadius(float radius)
184  { radius_ = radius;}
185 
186  // Method to get all vertices from a geometric object
187  virtual void getVertices(vector<Vector3>& vertices) const;
188 
190 
191  private:
192 
193  float radius_;
194  };
195 
196  #ifndef BALL_NO_INLINE_FUNCTIONS
197  # include <BALL/VIEW/PRIMITIVES/twoColoredTube.iC>
198  #endif
199 
200  } // namespace VIEW
201 } // namespace BALL
202 
203 #endif // BALL_VIEW_PRIMITIVES_TWOCOLOREDTUBE_H
geometricObject.h
BALL::VIEW::ColorExtension2
Definition: colorExtensions.h:26
BALL::VIEW::Vertex2
Definition: vertex2.h:33
BALL::VIEW::TwoColoredTube
Definition: twoColoredTube.h:49
BALL
Definition: constants.h:13
BALL::VIEW::GeometricObject
Definition: geometricObject.h:37
BALL::VIEW::TwoColoredTube::getVertices
virtual void getVertices(vector< Vector3 > &vertices) const
BALL::VIEW::TwoColoredTube::setRadius
void setRadius(float radius)
Set the radius.
Definition: twoColoredTube.h:183
BALL_SIZE_TYPE
BALL::TVector3< float >
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
colorExtensions.h
vertex2.h
BALL_CREATE
#define BALL_CREATE(name)
Definition: create.h:62