Changeset 645 for XIOS/trunk/src/node/field.hpp
- Timestamp:
- 07/17/15 13:58:14 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/field.hpp
r643 r645 78 78 CFile* getRelFile(void) const ; 79 79 80 func::CFunctor::ETimeType getOperationTimeType() const; 81 80 82 public : 81 83 82 84 StdSize getNStep(void) const; 83 85 84 const CDuration & getFreqOperation(void) const;85 const CDuration & getFreqWrite(void) const;86 87 boost::shared_ptr<CDate> getLastWriteDate(void) const;88 boost::shared_ptr<CDate> getLastOperationDate(void) const;89 90 boost::shared_ptr<func::CFunctor> getFieldOperation(void) const;91 92 CArray<double, 1> getData(void) const;93 86 template <int N> void getData(CArray<double, N>& _data) const; 94 87 … … 101 94 void resetNStepMax(); 102 95 103 template <int N> bool updateData(const CArray<double, N>& data);104 template <int N> bool updateFilteredData(CArray<double, N>& data);105 template<int N>106 void updateDataWithoutOperation(const CArray<double, N>& _data, CArray<double,1>& updatedData);107 bool updateDataFromExpression(const CArray<double, 1>& data);108 void setDataFromExpression(const CArray<double, 1>& _data) ;109 110 bool updateDataServer111 (const CDate & currDate,112 const std::deque< CArray<double, 1>* > storedClient);113 114 96 std::map<int, StdSize> getGridDataSize(); 115 97 116 98 public : 117 99 bool isActive(void) const; 118 bool active ;119 100 bool hasOutputFile ; 120 bool hasFieldOut ;121 101 122 102 /// Traitements /// 123 void processEnabledField(void) ;124 125 103 void solveGridReference(void); 126 void solve Operation(void);104 void solveServerOperation(void); 127 105 void solveCheckMaskIndex(bool doSendingIndex); 128 106 void solveAllReferenceEnabledField(bool doSending2Sever); 129 void buildAllExpressionEnabledField();130 107 void solveGridDomainAxisRef(bool checkAtt); 131 108 void solveTransformedGrid(); 132 CGrid* getGridRefOfBaseReference();133 109 134 110 void buildFilterGraph(CGarbageCollector& gc, bool enableOutput); … … 149 125 template <int N> void setData(const CArray<double, N>& _data) ; 150 126 static bool dispatchEvent(CEventServer& event) ; 151 void sendUpdateData(void) ;152 127 void sendUpdateData(const CArray<double,1>& data); 153 128 static void recvUpdateData(CEventServer& event) ; … … 170 145 void invertScaleFactorAddOffset(double scaleFactor, double addOffset); 171 146 void parse(xml::CXMLNode & node) ; 172 CArray<double,1>* getInstantData(void) ;173 147 174 148 void setVirtualVariableGroup(CVariableGroup* newVVariableGroup); … … 191 165 const std::pair<StdString, StdString>& getRefDomainAxisIds(); 192 166 193 const std::vector<CField*>& getFilterSources();194 void applyFilter(const CArray<double, 1>& dataToSend, CArray<double,1>& dataToReceive);195 void sendAndReceiveTransformedData(const std::map<int, CArray<int,1>* >& localIndexToSend,196 const CArray<double, 1>& dataSrc,197 const std::map<int,std::vector<std::vector<std::pair<int,double> > > >& localIndexToReceive,198 CArray<double,1>& dataDest);199 167 public : 200 168 /// Propriétés privées /// … … 203 171 CGrid* grid ; 204 172 CFile* file; 205 CField* fieldOut ; 206 207 CDuration freq_operation, freq_write; 173 208 174 CDuration freq_operation_srv, freq_write_srv; 209 175 210 176 StdSize nstep, nstepMax; 211 177 bool isEOF; 212 boost::shared_ptr<CDate> last_Write, last_operation; 213 boost::shared_ptr<CDate> lastlast_Write_srv,last_Write_srv, last_operation_srv; 178 boost::shared_ptr<CDate> lastlast_Write_srv, last_Write_srv, last_operation_srv; 214 179 CDate lastDataRequestedFromServer; 215 180 216 boost::shared_ptr<func::CFunctor> foperation;217 181 map<int,boost::shared_ptr<func::CFunctor> > foperation_srv; 218 182 219 CArray<double, 1> data;220 CArray<double, 1> instantData;221 CArray<double, 1> filteredData;222 bool hasInstantData ;223 183 map<int, CArray<double,1>* > data_srv ; 224 bool isOnceOperation ;225 bool isFirstOperation ;226 184 string content ; 227 185 228 list< pair<CField *,int> > fieldDependency ;229 void buildExpression(void) ;230 void addDependency(CField* field, int slotId) ;231 void resetSlots(void) ;232 vector<bool> slots ;233 CDate* slotUpdateDate ;234 CFieldNode * expression ;235 bool hasExpression ;236 bool slotsFull(void) ;237 void setSlot(int slotId);238 bool processed ;239 186 bool areAllReferenceSolved; 240 bool areAllExpressionBuilt;241 187 std::pair<StdString,StdString> domAxisIds_; 242 188 bool isReadDataRequestPending; 243 std::vector<CField*> filterSources_; 189 244 190 DECLARE_REF_FUNC(Field,field) 245 191 246 192 private: 193 //! The type of operation attached to the field 194 func::CFunctor::ETimeType operationTimeType; 195 247 196 //! The output pin of the filter providing the instant data for the field 248 197 boost::shared_ptr<COutputPin> instantDataFilter;
Note: See TracChangeset
for help on using the changeset viewer.