BALL 1.5.0
Loading...
Searching...
No Matches
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
20#endif
21
22#ifndef BALL_DATATYPE_REGULARDATA3D_H
24#endif
25
26#include <QtCore/QEvent>
27#include <QtWidgets/QColorDialog>
28#include <QtWidgets/QLabel>
29#include <QtGui/QDropEvent>
30
31namespace 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
100
102
107
123
125 #define BALL_VIEW_MAXIMAL_DRAWING_MODE 4
126
145
147 #define BALL_VIEW_MAXIMAL_DRAWING_PRECISION 4
148
150 #define BALL_VIEW_MAXIMAL_DISPLAY_LIST_OBJECT_SIZE BALL_VIEW_MAXIMAL_DRAWING_PRECISION * BALL_VIEW_MAXIMAL_DRAWING_MODE
151
154
166 {
169
172
175
178
181
184
187
190
193
196
199
200 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
201 // add new model types before this comment!!!!
202 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
203
206
209
212
215
218
221
224
227
230
233
235 MODEL_UNKNOWN = 200
236 };
237
238
243 {
246
249
252
255
258
261
264
267
270
273
276
279
280 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
281 // add new coloring types before this comment!!!!
282 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
283
286
288 COLORING_UNKNOWN = 200
289 };
290
296
298
301
304
307
314
317
320
323 : public QEvent
324 {
325 public:
326
329
331 void setMessage(const String& msg) {message_ = msg;}
332
334 String getMessage() {return message_;}
335
337 bool isImportant() { return important_;}
338
340 void setImportant(bool state) { important_ = state;}
341
343 bool showOnlyInLogView() const { return only_log_;}
344
346 void setShowOnlyInLogView(bool state) { only_log_ = state;}
347
348 protected:
352 };
353
356
358 #define BALLVIEW_DEBUG logString(String("A problem occurred in ") + __FILE__ + " " + \
359 String(__LINE__) + ". Please notify us on GitHub: " + \
360 "https://github.com/ball-project/ball/issues\n");
361
362
364
369
373 BALL_VIEW_EXPORT Camera focusCamera(const std::list<Vector3>& points);
374
376 BALL_VIEW_EXPORT String ascii(const QString& str);
377
379 BALL_VIEW_EXPORT ColorRGBA getColor(const QLabel* label);
380
382 BALL_VIEW_EXPORT void setColor(const QLabel* label, const ColorRGBA& color);
383
385 BALL_VIEW_EXPORT QColor chooseColor(QLabel* label);
386
388 BALL_VIEW_EXPORT void setTextColor(QLabel* label, const ColorRGBA& color);
389
394 const Vector3& tangent_a, const Vector3& tangent_b,
395 std::vector<Vector3>& interpolated_values);
396
399 extern float icosaeder_vertices[12][3];
400 extern Position icosaeder_indices[20][3];
401
402 BALL_VIEW_EXPORT void subdivideTriangle(vector<Vector3>& results, Vector3& v1, Vector3& v2, Vector3& v3, Size precision);
403
404 BALL_VIEW_EXPORT vector<Vector3> createSphere(Size precision);
405
406 BALL_VIEW_EXPORT void calculateHistogramEqualization(const vector<float>& values, vector<float>& normalized_values, bool use_absolute_values = false);
407
409 BALL_VIEW_EXPORT void calculateRandomPoints(const RegularData3D& grid, Size nr_points, vector<Vector3>& resulting_points);
410
412
413 } // namespace VIEW
414} // namespace BALL
415
416#endif // BALL_VIEW_KERNEL_COMMON_H
BALL_VIEW_EXPORT void cubicInterpolation(const Vector3 &a, const Vector3 &b, const Vector3 &tangent_a, const Vector3 &tangent_b, std::vector< Vector3 > &interpolated_values)
BALL_VIEW_EXPORT Composite composite_to_be_ignored_for_colorprocessors_
BALL_VIEW_EXPORT MainControl * getMainControl()
BALL_VIEW_EXPORT Vector3 getNormal(const Vector3 &v)
Position icosaeder_indices[20][3]
BALL_VIEW_EXPORT void subdivideTriangle(vector< Vector3 > &results, Vector3 &v1, Vector3 &v2, Vector3 &v3, Size precision)
BALL_VIEW_EXPORT void setColor(const QLabel *label, const ColorRGBA &color)
BALL_VIEW_EXPORT QColor chooseColor(QLabel *label)
DrawingPrecision
Enumeration for Drawing Precisions.
float icosaeder_vertices[12][3]
Code to refine a icosaeder:
BALL_VIEW_EXPORT Camera focusCamera(Composite *composite)
BALL_VIEW_EXPORT String createTemporaryFilename()
Create a temporary filename in the users home dir.
BALL_VIEW_EXPORT ColorRGBA getColor(const QLabel *label)
BALL_VIEW_EXPORT String vector3ToString(const Vector3 &v)
BALL_VIEW_EXPORT void processDropEvent(QDropEvent *e)
BALL_VIEW_EXPORT vector< Vector3 > createSphere(Size precision)
BALL_VIEW_EXPORT String ascii(const QString &str)
BALL_VIEW_EXPORT void calculateHistogramEqualization(const vector< float > &values, vector< float > &normalized_values, bool use_absolute_values=false)
BALL_VIEW_EXPORT float SurfaceDrawingPrecisions[4]
Mapping from the enum to the float values of Surfaces.
@ LOG_EVENT
Event to print output from a Thread.
@ MESSAGE_EVENT
An event with a contained VIEW message.
@ BUTTON_RELEASE_EVENT
Event for button press events of custom input devices.
@ BUTTON_PRESS_EVENT
Event for button press events of custom input devices.
@ TRANSFORMATION_EVENT_6D
Event that encodes a 6 dimensional transformation.
@ MOTIONTRACKING_EVENT
Event that encodes a motion tracker position change.
@ NOTIFICATION_EVENT
Event for passing BALL Messages accross threads.
@ HEADTRACKING_EVENT
Event that encodes a head tracker position change.
@ RENDER_TO_BUFFER_FINISHED_EVENT
Event posted by renderers after a new buffer is available.
DrawingMode
Enumeration for Drawing Modes.
@ MODEL_STICK
defines the property for the model: Stick
@ MODEL_BALL_AND_STICK
defines the property for the model: Ball and Stick
@ MODEL_RIBBON
defines the property for the model: Ribbon
@ MODEL_SA_SURFACE
defines the property for the model: solvent-accessible surface
@ MODEL_CONTOUR_SURFACE
defines the property for the model: contour surface
@ MODEL_VDW
defines the property for the model: Van der Waals
@ MODEL_UNKNOWN
unkown property
@ MODEL_PROXIMITY_LIGHT
defines the property for the model: proximity light
@ MODEL_CARTOON
defines the property for the model: Cartoon
@ MODEL_LINES
defines the property for the model: Lines
@ MODEL_SE_SURFACE
defines the property for the model: solvent-excluded surface
@ MODEL_BACKBONE
defines the property for the model: Backbone
@ MODEL_HBONDS
defines the property for the model: H-Bonds
@ MODEL_LABEL
defines the property for the model: Label
BALL_VIEW_EXPORT bool stringToVector3(const String &data, Vector3 &v)
BALL_VIEW_EXPORT void calculateRandomPoints(const RegularData3D &grid, Size nr_points, vector< Vector3 > &resulting_points)
calcualte a random set of points, dependening of the field strength of a grid
BALL_VIEW_EXPORT void logString(const String &data)
thread safe output to logview
BALL_VIEW_EXPORT void setTextColor(QLabel *label, const ColorRGBA &color)
BALL_VIEW_EXPORT String createFloatString(float value, Size precision)
create a string from a float and cut after a given number of digits after the dot
Event class used for thread safe output to logview.
void setMessage(const String &msg)
void setImportant(bool state)
bool isImportant()
will allways be shown in Statusbar or just when no other message shown?
bool showOnlyInLogView() const
only show in logview, no change to status bar
void setShowOnlyInLogView(bool state)
#define BALL_VIEW_EXPORT