BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
VIEW/KERNEL/common.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: common.h,v 1.40.16.4 2007/04/20 14:16:50 amoll Exp $
5 //
6 
7 #ifndef BALL_VIEW_KERNEL_COMMON_H
8 #define BALL_VIEW_KERNEL_COMMON_H
9 
10 #ifndef BALL_DATATYPE_STRING_H
11  #include <BALL/DATATYPE/string.h>
12 #endif
13 
14 #ifndef BALL_MATHS_VECTOR3
15  #include <BALL/MATHS/vector3.h>
16 #endif
17 
18 #ifndef BALL_CONCEPT_COMPOSITE_H
19  #include <BALL/CONCEPT/composite.h>
20 #endif
21 
22 #ifndef BALL_DATATYPE_REGULARDATA3D_H
24 #endif
25 
26 #include <QtCore/QEvent>
27 #include <QtGui/QColorDialog>
28 #include <QtGui/QLabel>
29 #include <QtGui/QDropEvent>
30 
31 namespace BALL
32 {
33  namespace VIEW
34  {
35 
36  class GeometricObject;
37  class MainControl;
38  class ColorRGBA;
39  class Camera;
40 
45 
50  #define VIEW_DEFAULT_PORT 20000
51 
54  #define BALL_ASSIGN_NAME(OBJ)\
55  OBJ->setObjectName(#OBJ);
56 
58 
64 
71  enum EventsIDs
72  {
74  MESSAGE_EVENT = 60000,
75 
78 
81 
84 
87 
90 
93 
96  };
97 
99 
104 
107  {
110 
113 
116 
119  };
120 
122  #define BALL_VIEW_MAXIMAL_DRAWING_MODE 4
123 
126  {
129 
132 
135 
138 
141  };
142 
144  #define BALL_VIEW_MAXIMAL_DRAWING_PRECISION 4
145 
147  #define BALL_VIEW_MAXIMAL_DISPLAY_LIST_OBJECT_SIZE BALL_VIEW_MAXIMAL_DRAWING_PRECISION * BALL_VIEW_MAXIMAL_DRAWING_MODE
148 
151 
163  {
166 
169 
172 
175 
178 
181 
184 
187 
190 
193 
196 
197  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
198  // add new model types before this comment!!!!
199  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
200 
202  MODEL_LABEL = 100,
203 
206 
209 
212 
215 
218 
221 
224  };
225 
226 
231  {
234 
237 
240 
243 
246 
249 
252 
255 
258 
261 
264 
267 
268  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
269  // add new coloring types before this comment!!!!
270  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
271 
274 
277  };
278 
284 
286 
289 
291  BALL_VIEW_EXPORT bool stringToVector3(const String& data, Vector3& v);
292 
294  BALL_VIEW_EXPORT String createFloatString(float value, Size precision);
295 
304 
307 
310 
313  : public QEvent
314  {
315  public:
316 
318  LogEvent();
319 
321  void setMessage(const String& msg) {message_ = msg;}
322 
324  String getMessage() {return message_;}
325 
327  bool isImportant() { return important_;}
328 
330  void setImportant(bool state) { important_ = state;}
331 
333  bool showOnlyInLogView() const { return only_log_;}
334 
336  void setShowOnlyInLogView(bool state) { only_log_ = state;}
337 
338  protected:
341  bool only_log_;
342  };
343 
345  BALL_VIEW_EXPORT void logString(const String& data);
346 
348  #define BALLVIEW_DEBUG logString(String("A problem occured in ") + __FILE__ + " " + \
349  String(__LINE__) + ". Please notify us per mail: ball@bioinf.uni-sb.de\n");
350 
351 
352  BALL_VIEW_EXPORT void processDropEvent(QDropEvent* e);
353 
357  BALL_VIEW_EXPORT Camera focusCamera(Composite* composite);
358 
362  BALL_VIEW_EXPORT Camera focusCamera(const std::list<Vector3>& points);
363 
365  BALL_VIEW_EXPORT String ascii(const QString& str);
366 
368  BALL_VIEW_EXPORT ColorRGBA getColor(const QLabel* label);
369 
371  BALL_VIEW_EXPORT void setColor(const QLabel* label, const ColorRGBA& color);
372 
374  BALL_VIEW_EXPORT QColor chooseColor(QLabel* label);
375 
377  BALL_VIEW_EXPORT void setTextColor(QLabel* label, const ColorRGBA& color);
378 
382  BALL_VIEW_EXPORT void cubicInterpolation(const Vector3& a, const Vector3& b,
383  const Vector3& tangent_a, const Vector3& tangent_b,
384  std::vector<Vector3>& interpolated_values);
385 
388  extern float icosaeder_vertices[12][3];
389  extern Position icosaeder_indices[20][3];
390 
391  BALL_VIEW_EXPORT void subdivideTriangle(vector<Vector3>& results, Vector3& v1, Vector3& v2, Vector3& v3, Size precision);
392 
393  BALL_VIEW_EXPORT vector<Vector3> createSphere(Size precision);
394 
395  BALL_VIEW_EXPORT void calculateHistogramEqualization(const vector<float>& values, vector<float>& normalized_values, bool use_absolute_values = false);
396 
398  BALL_VIEW_EXPORT void calculateRandomPoints(const RegularData3D& grid, Size nr_points, vector<Vector3>& resulting_points);
399 
401 
402  } // namespace VIEW
403 } // namespace BALL
404 
405 #endif // BALL_VIEW_KERNEL_COMMON_H