00001 // rdControlLinearNode.h: 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright 2003 Realistic Dynamics, Inc. 00004 // All rights reserved. 00005 // 00006 // Please do not read, copy, distribute, or use without permission. 00007 // Contact: Frank C. Anderson, fca@RealisticDynamics.com 00008 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 #ifndef __rdControlLinearNode_h__ 00010 #define __rdControlLinearNode_h__ 00011 00012 00013 // INCLUDES 00014 #include <rdArray.h> 00015 #include <rdCntr.h> 00016 00017 //============================================================================= 00018 //============================================================================= 00033 class RDSIMULATION_API rdControlLinearNode 00034 { 00035 00036 //============================================================================= 00037 // MEMBER DATA 00038 //============================================================================= 00039 protected: 00041 static double _EqualityTolerance; 00043 double _t; 00045 double _x; 00047 double _min; 00049 double _max; 00050 00051 //============================================================================= 00052 // METHODS 00053 //============================================================================= 00054 public: 00055 rdControlLinearNode(double aT=0.0,double aX=0.0, 00056 double aMin=0.0,double aMax=1.0); 00057 rdControlLinearNode(const rdControlLinearNode &aNode); 00058 00059 //-------------------------------------------------------------------------- 00060 // OPERATORS 00061 //-------------------------------------------------------------------------- 00062 public: 00063 rdControlLinearNode& operator=(const rdControlLinearNode &aControl); 00064 bool operator==(const rdControlLinearNode &aControl) const; 00065 bool operator<(const rdControlLinearNode &aControl) const; 00066 00067 //-------------------------------------------------------------------------- 00068 // SET AND GET 00069 //-------------------------------------------------------------------------- 00070 static void SetEqualityTolerance(double aTol); 00071 static double GetEqualityTolerance(); 00072 void setTime(double aT); 00073 double getTime() const; 00074 void setValue(double aX); 00075 double getValue() const; 00076 void setMin(double aMin); 00077 double getMin() const; 00078 void setMax(double aMax); 00079 double getMax() const; 00080 00081 //-------------------------------------------------------------------------- 00082 // UTILITY 00083 //-------------------------------------------------------------------------- 00084 char* toString() const; 00085 00086 //============================================================================= 00087 }; // END of class rdControlLinearNode 00088 //============================================================================= 00089 //============================================================================= 00090 00091 #endif // __rdControlLinearNode_h__
1.3