vtkTimestamp,vtkSetGet,vtkLWObject and vtkObject

来源:互联网 发布:java培训认证 编辑:程序博客网 时间:2024/05/16 09:24

vtkTimeStamp用来记录对象的修改时间。

包括两个unsigned long 类型的私有数据ModifiedTime和vtkTime,其中vtkTime时静态的,并被初始为0。ModifiedTime用来保存修改时间值,vtkTime是每次修改的累加量。

成员函数包括:

  void Modified() {this->ModifiedTime = ++vtkTime;};//修改时间更改
  unsigned long int GetMTime() {return ModifiedTime;};//获取修改时间

  int operator>(vtkTimeStamp& ts) {return (this->ModifiedTime > ts.ModifiedTime);};
  int operator<(vtkTimeStamp& ts) {return (this->ModifiedTime < ts.ModifiedTime);};
  operator unsigned long int() {return this->ModifiedTime;};//重载一些操作符

 

vtkSetGet定义了两个常量VTK_LARGE_FLOAT和VTK_LARGE_INTEGER,宏定义了一些GetSet函数和debug,warning和error printout信息。

 

vtkObject除了上一节的Printing还包括debugging,modified time.

  // debugging
  virtual void DebugOn();
  virtual void DebugOff();
  int GetDebug();

  // modified time
  virtual unsigned long int GetMTime();
  virtual void Modified();

 

大多数的vtk类都要继承自vtkObject,例外的情况之一是一些helper ,另一种情况是多重继承问题,这就用到的vtklwObject,具体情况还没有搞清楚。

 

参考:

静态函数:http://blog.csdn.net/ugg/archive/2006/12/04/1428872.aspx

宏定义:http://staff.it.uts.edu.au/~ypisan/programming/macros.html

多重继承:http://www.cppblog.com/iuranus/archive/2008/12/18/69722.html