Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef lgrDisArtPart_H_
00010 #define lgrDisArtPart_H_
00011
00012 #if DtDIS
00013
00014 #include "lgrSim.h"
00015
00016 class DtString;
00017
00018 #include <vlpi/apSpec.h>
00019
00020 namespace MAKLogger
00021 {
00022
00023 class DtLgrArtPartList;
00024
00029 class DT_DLL_LGRSIM DtLgrArtPart
00030 {
00031 protected:
00034
00036 DtLgrArtPart();
00037
00039 virtual ~DtLgrArtPart();
00040
00042 DtLgrArtPart( const DtArtPartSpec& spec );
00043
00045 DtLgrArtPart( const DtLgrArtPart& src );
00046
00048 DtLgrArtPart& operator=( const DtLgrArtPart& src );
00049
00050 public:
00051 friend class DtLgrArtPartList;
00052
00053 public:
00055 virtual bool setUsingParam( int paramType, bool yesNo = true );
00056 virtual bool usingParam( int paramType ) const;
00057
00061 virtual bool setParamValue( int paramType, float value );
00062 virtual bool paramValue( int paramType, float& value ) const;
00063
00065 virtual int numParams() const;
00066
00068 inline void setPartType( int val );
00069 inline int partType() const;
00070
00072 inline void setPartNum( int val );
00073 inline int partNum() const;
00074
00076 inline void setPartAttachedTo( int val );
00077 inline int partAttachedTo() const;
00078
00080 virtual int firstValidParamType() const;
00081
00083 virtual int nextValidParamType( int paramType ) const;
00084
00086 virtual void print();
00087 virtual void print( DtString& str );
00088
00089 public:
00091 static bool artParamIsRate( int paramType );
00093 static int computePartType( int partPlusParam );
00095 static int computeParameterType( int partPlusParam );
00096
00097 protected:
00098 float myParamVals[DtMAX_PARAMS_PER_PART+1];
00099 unsigned int myParamSetMask;
00100 int myPartType;
00101 int myPartNum;
00102 int myPartAttachedTo;
00103 };
00104
00105
00106 inline void DtLgrArtPart::setPartType( int val )
00107 {
00108 myPartType = val;
00109 }
00110
00111
00112 inline int DtLgrArtPart::partType() const
00113 {
00114 return myPartType;
00115 }
00116
00117
00118 inline void DtLgrArtPart::setPartNum( int val )
00119 {
00120 myPartNum = val;
00121 }
00122
00123
00124 inline int DtLgrArtPart::partNum() const
00125 {
00126 return myPartNum;
00127 }
00128
00129
00130 inline void DtLgrArtPart::setPartAttachedTo( int val )
00131 {
00132 myPartAttachedTo = val;
00133 }
00134
00135
00136 inline int DtLgrArtPart::partAttachedTo() const
00137 {
00138 return myPartAttachedTo;
00139 }
00140
00141 }
00142
00143 #endif //! !DtHLA
00144 #endif //! DtLgrArtPart_DIS_H_
00145
00146