MeVisLab Toolbox Reference
mlTreeNode.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, 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 #ifndef ML_TREE_NODE_H
14 #define ML_TREE_NODE_H
15 
18 
19 #include "mlImageVector.h"
20 #include "mlInitSystemML.h"
21 #include "mlRuntimeType.h"
22 #include "mlRuntimeSubClass.h"
23 #include "mlSubImageBox.h"
24 #include "mlVector2.h"
25 #include "mlVector3.h"
26 #include "mlVector4.h"
27 #include "mlVector6.h"
28 
29 #include <string>
30 
31 ML_START_NAMESPACE
32 
33 class Base;
34 class SubImageBoxd;
35 #if ML_DEPRECATED_SINCE(3,5,0)
36 ML_DEPRECATED typedef SubImageBoxd SubImgBoxf;
37 #endif
38 
39 //---------------------------------------------------------------------------------
43 //---------------------------------------------------------------------------------
44 enum {
81 
82  TNE_COUNT
83 
84 #if ML_DEPRECATED_SINCE(3,5,0)
85  ,
86  TNE_ReadingVec2 = TNE_ReadingVector2,
87  TNE_ReadingVec3 = TNE_ReadingVector3,
88  TNE_ReadingVec4 = TNE_ReadingVector4,
89  TNE_ReadingVec6 = TNE_ReadingVector6,
90  TNE_ReadingVector = TNE_ReadingImageVector,
91  TNE_ReadingMat3 = TNE_ReadingMatrix3,
92  TNE_ReadingMat4 = TNE_ReadingMatrix4,
93  TNE_ReadingSubImgBox = TNE_ReadingSubImageBox,
94  TNE_ReadingSubImgBoxf = TNE_ReadingSubImageBoxd
95 #endif
96 };
97 
98 
99 //---------------------------------------------------------------------------------
109 //---------------------------------------------------------------------------------
111 {
112 
113 public:
114 
117 
121  TreeNodeException(int errorCode = 0, const char* msg = nullptr);
122 
124  virtual ~TreeNodeException() { }
125 
127  int getCode() const { return _errorCode; }
128 
130 
136  virtual const char* getMessage() const;
137 
138 protected:
139 
142 
143 private:
144 
145  std::string _message;
146 
149  static const char* _stdErrorMsg[];
150 
154 };
155 
156 
158 #define TREE_NODE_CHECK_THROW(x) { if (!(x)) throw TreeNodeException(TNE_UserDefined, #x); }
159 
160 
163 
171 
172 
173 public:
174 
175  // Define macros for default implementations:
176 
178 #define VOID_IMPLEMENTATION(which) { throw TreeNodeException(TNE_VoidImplementation, which); }
179 
184 #define VOID_IMPLEMENTATION_RET(which, R) { if (MLAlwaysTrue){ throw TreeNodeException(TNE_VoidImplementation, which); } return R; }
185 
187 #define ADD_LONG_CHILD { addChild(static_cast<long>(val), name); }
188 
190 #define ADD_ULONG_CHILD { addChild(static_cast<unsigned long>(val), name); }
191 
193 #define ADD_LDOUBLE_CHILD { addChild(static_cast<long double>(val), name); }
194 
197 #define READ_LONG_CHILD(DST_TYPE) { long lval=0; readChild(lval, name); val = static_cast<DST_TYPE>(lval); }
198 
201 #define READ_ULONG_CHILD(DST_TYPE) { unsigned long lval=0; readChild(lval, name); val = static_cast<DST_TYPE>(lval); }
202 
205 #define READ_LDOUBLE_CHILD(DST_TYPE){ long double ldval=0; readChild(ldval, name); val = static_cast<DST_TYPE>(ldval); }
206 
209 #define READ_LONG_CHILD_FOR_BOOL { long lval=0; readChild(lval, name); val = (lval!=0); }
210 
211 
213  typedef enum {
214 
217 
220 
222  CM_COUNT
223 
224  } ConstructionMode;
225 
226 
228  virtual ~TreeNode();
229 
230  //--------------------------------------------------------------
234  //--------------------------------------------------------------
235 
237 
239  virtual void writeToFile (const char* /*fileName*/) VOID_IMPLEMENTATION("writeToFile");
240 
242  virtual void readFromFile (const char* /*fileName*/) VOID_IMPLEMENTATION("readFromFile");
243 
245 
248  virtual void writeToString(std::string& /*str*/) VOID_IMPLEMENTATION("writeToString");
249 
251 
254  virtual void readFromString(const std::string& /*str*/) VOID_IMPLEMENTATION("readFromString");
255 
256 #if !ML_DEPRECATED_SINCE(3,5,0)
257 private:
258 #endif
259 
261 
265  [[deprecated]] virtual void writeToString (char*& /*str*/) VOID_IMPLEMENTATION("writeToString");
266 
268 
272  [[deprecated]] virtual void readFromString (const char* /*str*/) VOID_IMPLEMENTATION("readFromString");
273 #if !ML_DEPRECATED_SINCE(3,5,0)
274 public:
275 #endif
276 
278 
279  //------------------------------------------------------------------------------------------
290  //------------------------------------------------------------------------------------------
291 
293 
295  virtual void addChild (bool val , const char* name ) ADD_ULONG_CHILD;
296 
298  virtual void addChild (unsigned char val , const char* name ) ADD_ULONG_CHILD;
299 
301  virtual void addChild (char val , const char* name ) ADD_LONG_CHILD;
302 
304  virtual void addChild (unsigned short val , const char* name ) ADD_ULONG_CHILD;
305 
307  virtual void addChild (short val , const char* name ) ADD_LONG_CHILD;
308 
310  virtual void addChild (unsigned int val , const char* name ) ADD_ULONG_CHILD;
311 
313  virtual void addChild (int val , const char* name ) ADD_LONG_CHILD;
314 
316  virtual void addChild (unsigned long /*val*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(unsigned long)");
317 
319  virtual void addChild (long /*val*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(long)");
320 
322  virtual void addChild (MLuint64 /*val*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(MLuint64)");
323 
325  virtual void addChild (MLint64 /*val*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(MLint64)");
326 
328  virtual void addChild (float val , const char* name ) ADD_LDOUBLE_CHILD;
329 
331  virtual void addChild (double val , const char* name ) ADD_LDOUBLE_CHILD;
332 
334  virtual void addChild (long double /*val*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(long double)");
335 
336 
338  virtual void addChild(const std::string& /*str*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(const std::string&)");
339 
341  virtual void addChild (const Vector2& /*vec*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(Vector2)");
342 
344  virtual void addChild (const Vector3& /*vec*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(Vector3)");
345 
347  virtual void addChild (const Vector4& /*vec*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(Vector4)");
348 
350  virtual void addChild (const Vector6& /*vec*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(Vector6)");
351 
353  virtual void addChild (const ImageVector& /*vec*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(ImageVector)");
354 
356  virtual void addChild (const Matrix3& /*mat*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(Matrix3)");
357 
359  virtual void addChild (const Matrix4& /*mat*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(Matrix4)");
360 
362  virtual void addChild (const SubImageBox& /*box*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(SubImageBox)");
363 
365  virtual void addChild (const SubImageBoxd& /*box*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(SubImageBoxd)");
366 
369  virtual void addChild (const void* const /*ptr*/, size_t /*noBytes*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(void*)");
370 
372 
375  virtual void addChild (const Base* const /*obj*/, const char* /*name*/, bool /*generic*/ = true) VOID_IMPLEMENTATION("addChild(Base*)");
376 
378 
381  virtual TreeNode* addChild (const char* /*name*/) VOID_IMPLEMENTATION_RET("TreeNode* addChild()", nullptr);
382 
384 
385 
386 
387 
388  //--------------------------------------------------------------------------------------------
394  //--------------------------------------------------------------------------------------------
395 
397 
402  virtual bool hasChild (const char* /*tagName*/ = nullptr) VOID_IMPLEMENTATION_RET("TreeNode* hasChild()", false);
403 
404 
405 
407  virtual void readChild (bool& val, const char* name = nullptr) READ_LONG_CHILD_FOR_BOOL;
408 
410  virtual void readChild (char& val, const char* name = nullptr) READ_LONG_CHILD(char);
411 
413  virtual void readChild (unsigned char& val, const char* name = nullptr) READ_ULONG_CHILD(unsigned char);
414 
416  virtual void readChild (short& val, const char* name = nullptr) READ_LONG_CHILD(short);
417 
419  virtual void readChild (unsigned short& val, const char* name = nullptr) READ_ULONG_CHILD(unsigned short);
420 
422  virtual void readChild (int& val, const char* name = nullptr) READ_LONG_CHILD(int);
423 
425  virtual void readChild (unsigned int& val, const char* name = nullptr) READ_ULONG_CHILD(unsigned int);
426 
428  virtual void readChild (long& /*val*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(long&)");
429 
431  virtual void readChild (unsigned long& /*val*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(unsigned long&)");
432 
434  virtual void readChild (MLint64& /*val*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(MLint64&)");
435 
437  virtual void readChild (MLuint64& /*val*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(MLuint64&)");
438 
440  virtual void readChild (float& val, const char* name = nullptr) READ_LDOUBLE_CHILD(float);
441 
443  virtual void readChild (double& val, const char* name = nullptr) READ_LDOUBLE_CHILD(double);
444 
446  virtual void readChild (long double& /*val*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(long double&)");
447 
449  virtual void readChild (Vector2& /*vec*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Vector2&)");
450 
452  virtual void readChild (Vector3& /*vec*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Vector3&)");
453 
455  virtual void readChild (Vector4& /*vec*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Vector4&)");
456 
458  virtual void readChild (Vector6& /*vec*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Vector6&)");
459 
461  virtual void readChild (ImageVector& /*vec*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(ImageVector&)");
462 
464  virtual void readChild (Matrix3& /*mat*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Matrix3&)");
465 
467  virtual void readChild (Matrix4& /*mat*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Matrix4&)");
468 
470  virtual void readChild (SubImageBox& /*box*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(SubImageBox&)");
471 
473  virtual void readChild (SubImageBoxd& /*box*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(SubImageBoxd&)");
474 
477  virtual void readChild (void*& /*ptr*/, unsigned long& /*noBytes*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(char*&)");
478 
482  virtual void readChild (Base*& /*objP*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Base*&)");
483 
487  virtual void readChild (Base& /*objP*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(Base&)");
488 
490  virtual void readChild (TreeNode*& /*node*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(TreeNode*&)");
491 
493  virtual void readChild(std::string& /*str*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(std::string&)");
494 
495 #if !ML_DEPRECATED_SINCE(3,5,0)
496 private:
497 #endif
498 
501  [[deprecated]] virtual void addChild (const char* const /*str*/, const char* /*name*/) VOID_IMPLEMENTATION("addChild(const char* const)");
502 
507  [[deprecated]] virtual void readChild (char*& /*str*/, const char* /*name*/ = nullptr) VOID_IMPLEMENTATION("readChild(char*&)");
508 
511  [[deprecated]] virtual void deleteString (char* /*str*/) const VOID_IMPLEMENTATION("deleteString(char*)");
512 #if !ML_DEPRECATED_SINCE(3, 5, 0)
513 public:
514 #endif
515 
517 
518 
519  //-----------------------------------------------------------------------------
524  //-----------------------------------------------------------------------------
525 
527 
530  virtual TreeNode* readContainerChild (const char* name = nullptr)
531  {
532  TreeNode* node = nullptr;
533  readChild(node, name);
534  return node;
535  }
536 
537 
539 
544  virtual Base* readBaseChild (const char* name = nullptr)
545  {
546  Base* objP = nullptr;
547  readChild(objP, name);
548  return objP;
549  }
550 
552 
553  //------------------------------
555  //------------------------------
556 
558 
560  virtual void setVersion(const char* /*className*/, int /*version*/){ VOID_IMPLEMENTATION("setVersion()"); }
561 
563  virtual int getVersion(const char* /*className*/) { VOID_IMPLEMENTATION_RET("getVersion()", 0); }
564 
566  virtual const char* getLastReadChildName() const { VOID_IMPLEMENTATION_RET("getLastReadChildName()", nullptr); }
567 
569  bool isRootNode() const { return _isRoot; }
570 
573  virtual char* correctName(const char* /*name*/) const { VOID_IMPLEMENTATION_RET("correctName()", nullptr); }
574 
576  virtual bool isCorrectName(const char* /*name*/) const { VOID_IMPLEMENTATION_RET("isCorrectName()", false); }
577 
579 
580 protected:
581 
582 
583  //----------------------------------------------------------------------------------
589  //----------------------------------------------------------------------------------
591 
595  TreeNode(ConstructionMode /*mode*/) :
596  _isRoot(true)
597  {
598  }
599 
602  TreeNode() :
603  _isRoot(false)
604  {
605  }
606 
608 
613  std::vector<TreeNode*> &_getChildTreeNodes();
614 
615  //---------------------------------------------
618  //---------------------------------------------
619 
621 
624  void _appendNewChild(TreeNode& newNode) { _childTreeNodes.push_back(&newNode); }
625 
627 
628  //------------------------------------------------
632  //------------------------------------------------
633 
634 private:
635 
636 
637  //------------------------
640  //------------------------
641 
643 
646  std::vector<TreeNode*> _childTreeNodes;
647 
650  bool _isRoot;
651 
653 
657 
658 
659 #undef VOID_IMPLEMENTATION
660 #undef ADD_ULONG_CHILD
661 #undef ADD_LONG_CHILD
662 #undef ADD_LDOUBLE_CHILD
663 #undef READ_ULONG_CHILD
664 #undef READ_LONG_CHILD
665 #undef READ_LDOUBLE_CHILD
666 #undef READ_LONG_CHILD_FOR_BOOL
667 
668 }; // class TreeNode
669 
670 
671 //------------------------
674 //------------------------
675 
677 
680 #define ML_READCHILD_OPTIONAL(obj, tagName, defaultVal) \
681 if (parent->hasChild(tagName)) { \
682  parent->readChild(obj, tagName); \
683 } else { \
684  obj = defaultVal; \
685 }
686 
687 
689 #define ML_ADDSTATE_VERSION(ThisClass) parent->setVersion("#ThisClass#", ThisClass::getAddStateVersion());
690 
693 #define ML_ADDSTATE_SUPER(SuperClass) { \
694 TreeNode* superClassNode = parent->addChild("_" #SuperClass); \
695 SuperClass::addStateToTree(superClassNode); \
696 }
697 
700 #define ML_READSTATE_SUPER(SuperClass) { \
701 TreeNode* superClassNode = parent->readContainerChild("_" #SuperClass); \
702 SuperClass::readStateFromTree(superClassNode); \
703 }
704 
710 
713 #define ML_TREE_NODE_SUPPORT_VIA_PERSISTENT_STATE \
714 virtual void addStateToTree(TreeNode* parent) const \
715 { \
716 auto state = persistentState(); \
717 if (state.empty()){ state = "Could not read object state."; } \
718 parent->addChild(state, "State"); \
719 } \
720 \
721 virtual void readStateFromTree(TreeNode* parent) \
722 { \
723 std::string state; \
724 parent->readChild(state, "State"); \
725 setPersistentState(state); \
726 }
728 
729 ML_END_NAMESPACE
730 
731 #endif // __mlTreeNode_H
732 
733 
#define ML_DEPRECATED
Definition: CSOGroup.h:371
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
SubImageBoxd - SubImageBox with coordinates of float data type.
The class TreeNodeException is the base class for all exceptions thrown by the class TreeNode and all...
Definition: mlTreeNode.h:111
virtual const char * getMessage() const
Returns the error string.
virtual ~TreeNodeException()
Destructor.
Definition: mlTreeNode.h:124
int getCode() const
Returns the error code.
Definition: mlTreeNode.h:127
int _errorCode
The error code of the exception.
Definition: mlTreeNode.h:141
TreeNodeException(int errorCode=0, const char *msg=nullptr)
Creates a new exception object with code errorCode and an optional error message.
The class TreeNode is the abstract base class for the import/export of ML objects.
Definition: mlTreeNode.h:170
virtual void addChild(char val, const char *name) ADD_LONG_CHILD
Factory method adding a child encapsulating a variable of type char.
@ CM_readerRoot
Construct as root node for reading.
Definition: mlTreeNode.h:219
@ CM_writerRoot
Construct as root node for writing.
Definition: mlTreeNode.h:216
virtual ~TreeNode()
Destructor deleting all children of this node.
virtual void addChild(int val, const char *name) ADD_LONG_CHILD
Factory method adding a child encapsulating a variable of type int.
virtual void addChild(MLint64, const char *) VOID_IMPLEMENTATION("addChild(MLint64)")
Factory method adding a child encapsulating a variable of type MLint64.
virtual void addChild(unsigned short val, const char *name) ADD_ULONG_CHILD
Factory method adding a child encapsulating a variable of type unsigned short.
virtual void addChild(double val, const char *name) ADD_LDOUBLE_CHILD
Factory method adding a child encapsulating a variable of type double.
virtual void addChild(short val, const char *name) ADD_LONG_CHILD
Factory method adding a child encapsulating a variable of type short.
virtual void writeToString(std::string &) VOID_IMPLEMENTATION("writeToString")
Generates a string representation of the subtree represented by this node to a file.
virtual void writeToFile(const char *) VOID_IMPLEMENTATION("writeToFile")
Writes the subtree represented by this node to a file.
virtual void addChild(unsigned int val, const char *name) ADD_ULONG_CHILD
Factory method adding a child encapsulating a variable of type unsigned int.
virtual void addChild(unsigned char val, const char *name) ADD_ULONG_CHILD
Factory method adding a child encapsulating a variable of type unsigned char.
virtual void addChild(long, const char *) VOID_IMPLEMENTATION("addChild(long)")
Factory method adding a child encapsulating a variable of type long.
virtual void addChild(bool val, const char *name) ADD_ULONG_CHILD
Factory method adding a child encapsulating a variable of type bool.
virtual void addChild(unsigned long, const char *) VOID_IMPLEMENTATION("addChild(unsigned long)")
Factory method adding a child encapsulating a variable of type long.
virtual void addChild(MLuint64, const char *) VOID_IMPLEMENTATION("addChild(MLuint64)")
Factory method adding a child encapsulating a variable of type MLuint64.
virtual void readFromFile(const char *) VOID_IMPLEMENTATION("readFromFile")
Reads the subtree represented by this node from a file.
virtual void addChild(float val, const char *name) ADD_LDOUBLE_CHILD
Factory method adding a child encapsulating a variable of type float.
virtual void addChild(long double, const char *) VOID_IMPLEMENTATION("addChild(long double)")
Factory method adding a child encapsulating a variable of type long double.
virtual void readFromString(const std::string &) VOID_IMPLEMENTATION("readFromString")
Reads the subtree represented by this node from a string.
#define MLEXPORT
To export symbols from a dll/shared object, we need to mark them with the MLEXPORT symbol.
#define ML_ABSTRACT_ROOT_CLASS_HEADER(className)
#define ML_ROOT_CLASS_HEADER(className)
#define ADD_LONG_CHILD
For each signed integer type, addChild(long) is called by default.
Definition: mlTreeNode.h:187
#define READ_LDOUBLE_CHILD(DST_TYPE)
For each floating point type, readChild(LDouble) is called by default and the results is simply caste...
Definition: mlTreeNode.h:205
#define VOID_IMPLEMENTATION(which)
Standard body for a method in this interface class.
Definition: mlTreeNode.h:178
#define VOID_IMPLEMENTATION_RET(which, R)
Standard body for a method in this interface class.
Definition: mlTreeNode.h:184
#define READ_LONG_CHILD_FOR_BOOL
For each signed integer type, readChild(Long) is called by default and the results is simply casted t...
Definition: mlTreeNode.h:209
#define ADD_LDOUBLE_CHILD
For each floating point type, addChild(LDouble) is called by default.
Definition: mlTreeNode.h:193
#define READ_LONG_CHILD(DST_TYPE)
For each signed integer type, readChild(Long) is called by default and the results is simply casted t...
Definition: mlTreeNode.h:197
#define READ_ULONG_CHILD(DST_TYPE)
For each unsigned integer type, readChild(ULong) is called by default and the results is simply caste...
Definition: mlTreeNode.h:201
#define ADD_ULONG_CHILD
For each unsigned integer type, addChild(ulong) is called by default.
Definition: mlTreeNode.h:190
UINT64 MLuint64
Introduce platform independent 64 bit unsigned integer type.
Definition: mlTypeDefs.h:513
INT64 MLint64
Include 64 bit integer support for Windows or Unix.
Definition: mlTypeDefs.h:500
@ TNE_ReadingBase
Definition: mlTreeNode.h:49
@ TNE_ReadingUInt
Definition: mlTreeNode.h:54
@ TNE_ReadingChar
Definition: mlTreeNode.h:51
@ TNE_ReadingMLuint64
Definition: mlTreeNode.h:80
@ TNE_ReadingVector6
Definition: mlTreeNode.h:65
@ TNE_ReadingUChar
Definition: mlTreeNode.h:50
@ TNE_ReadingInt
Definition: mlTreeNode.h:55
@ TNE_ReadingMatrix4
Definition: mlTreeNode.h:68
@ TNE_VoidImplementation
Definition: mlTreeNode.h:45
@ TNE_ReadingShort
Definition: mlTreeNode.h:53
@ TNE_ReadingUShort
Definition: mlTreeNode.h:52
@ TNE_ReadingString
Definition: mlTreeNode.h:61
@ TNE_InvalidReadNext
Definition: mlTreeNode.h:71
@ TNE_ReadingSubImageBox
Definition: mlTreeNode.h:69
@ TNE_ReadingDouble
Definition: mlTreeNode.h:59
@ TNE_ReadingVector4
Definition: mlTreeNode.h:64
@ TNE_ReadingLong
Definition: mlTreeNode.h:57
@ TNE_ReadingULong
Definition: mlTreeNode.h:56
@ TNE_COUNT
Definition: mlTreeNode.h:82
@ TNE_ReadingImageVector
Definition: mlTreeNode.h:66
@ TNE_ReadingFile
Definition: mlTreeNode.h:74
@ TNE_NotSupported
Definition: mlTreeNode.h:46
@ TNE_UnsupportedClassVersion
Definition: mlTreeNode.h:76
@ TNE_ReadingMatrix3
Definition: mlTreeNode.h:67
@ TNE_AddingBase
Definition: mlTreeNode.h:48
@ TNE_ReadingSubImageBoxd
Definition: mlTreeNode.h:70
@ TNE_ReadingMLint64
Definition: mlTreeNode.h:79
@ TNE_ReadingVector3
Definition: mlTreeNode.h:63
@ TNE_ReadingFloat
Definition: mlTreeNode.h:58
@ TNE_InvalidParentNode
Definition: mlTreeNode.h:72
@ TNE_UserDefined
Definition: mlTreeNode.h:77
@ TNE_ReadingVector2
Definition: mlTreeNode.h:62
@ TNE_ReadingLDouble
Definition: mlTreeNode.h:60
@ TNE_FileNotFound
Definition: mlTreeNode.h:73
@ TNE_Unknown
Definition: mlTreeNode.h:78
@ TNE_WritingFile
Definition: mlTreeNode.h:75
@ TNE_ChildNotFound
Definition: mlTreeNode.h:47