MeVisLab Toolbox Reference
mlListFields.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2018, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 
15 
16 #pragma once
17 
18 #include "mlListField.h"
19 #include "mlRuntimeSubClass.h"
20 
21 ML_START_NAMESPACE
22 
23 //-------------------------------------------------------------------------
25 //-------------------------------------------------------------------------
27 
28 //===========================================================================
29 
30 class MLEXPORT IntListField : public ListField<MLint>
31 {
34 
35 public:
38 
40  IntListField(const std::string& name);
41 
42 protected:
43 
45  void setValueFromField(const Field& field) override;
46 
47 };
48 
49 //===========================================================================
50 
51 class MLEXPORT DoubleListField : public ListField<double>
52 {
55 
56 public:
59 
61  DoubleListField(const std::string& name);
62 
63 protected:
64 
66  void setValueFromField(const Field& field) override;
67 
68 };
69 
70 //===========================================================================
71 
72 class MLEXPORT Vector2ListField : public ListField<Vector2>
73 {
76 
77 public:
80 
82  Vector2ListField(const std::string& name);
83 
84 protected:
85 
87  void setValueFromField(const Field& field) override;
88 
89 };
90 
91 //===========================================================================
92 
93 class MLEXPORT Vector3ListField : public ListField<Vector3>
94 {
97 
98 public:
101 
103  Vector3ListField(const std::string& name);
104 
105 protected:
106 
108  void setValueFromField(const Field& field) override;
109 
110 };
111 
112 //===========================================================================
113 
114 class MLEXPORT Vector4ListField : public ListField<Vector4>
115 {
118 
119 public:
122 
124  Vector4ListField(const std::string& name);
125 
126 protected:
127 
129  void setValueFromField(const Field& field) override;
130 
131 };
132 
133 //===========================================================================
134 
135 ML_END_NAMESPACE
DoubleListField(const std::string &name)
Constructor, creates a multi field with a name.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
DoubleListField()
Implements the runtime type system interface for this class.
Base class for all fields used in the ML.
Definition: mlField.h:73
IntListField(const std::string &name)
Constructor, creates a multi field with a name.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
IntListField()
Implements the runtime type system interface for this class.
Vector2ListField()
Implements the runtime type system interface for this class.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
Vector2ListField(const std::string &name)
Constructor, creates a multi field with a name.
Vector3ListField()
Implements the runtime type system interface for this class.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
Vector3ListField(const std::string &name)
Constructor, creates a multi field with a name.
Vector4ListField()
Implements the runtime type system interface for this class.
Vector4ListField(const std::string &name)
Constructor, creates a multi field with a name.
void setValueFromField(const Field &field) override
Reimplementation from Field which copies the field value more efficiently.
#define MLEXPORT
To export symbols from a dll/shared object, we need to mark them with the MLEXPORT symbol.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
MLEXPORT void MLInitListFields()
Initialize all multi fields of the ML.