Changeset 15 in flair-src for trunk/lib/FlairFilter/src/ControlLaw.cpp
- Timestamp:
- Apr 8, 2016, 3:40:57 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairFilter/src/ControlLaw.cpp
r10 r15 29 29 namespace filter { 30 30 31 ControlLaw::ControlLaw(const Object* parent,string name,uint32_t nb_out) : IODevice(parent,name) { 32 if(nb_out==1) { 33 output=new cvmatrix(this,nb_out,1,floatType,name); 34 } else { 35 cvmatrix_descriptor* desc=new cvmatrix_descriptor(nb_out,1); 36 for(int i=0;i<nb_out;i++) { 37 std::stringstream ss; 38 ss << i; 39 desc->SetElementName(i,0,ss.str()); 40 } 41 output=new cvmatrix(this,desc,floatType,name); 31 ControlLaw::ControlLaw(const Object *parent, string name, uint32_t nb_out) 32 : IODevice(parent, name) { 33 if (nb_out == 1) { 34 output = new cvmatrix(this, nb_out, 1, floatType, name); 35 } else { 36 cvmatrix_descriptor *desc = new cvmatrix_descriptor(nb_out, 1); 37 for (int i = 0; i < nb_out; i++) { 38 std::stringstream ss; 39 ss << i; 40 desc->SetElementName(i, 0, ss.str()); 42 41 } 42 output = new cvmatrix(this, desc, floatType, name); 43 } 43 44 44 input=NULL;45 45 input = NULL; 46 AddDataToLog(output); 46 47 } 47 48 48 ControlLaw::~ControlLaw(void) { 49 50 } 49 ControlLaw::~ControlLaw(void) {} 51 50 52 51 void ControlLaw::Update(Time time) { 53 54 52 input->SetDataTime(time); 53 UpdateFrom(input); 55 54 } 56 55 57 56 float ControlLaw::Output(uint32_t index) const { 58 return output->Value(index,0);57 return output->Value(index, 0); 59 58 } 60 59 61 void ControlLaw::UseDefaultPlot(const LayoutPosition* position) { 62 if(output->Rows()!=1) Warn("Output size is different from 1. Plotting only Output(1,1).\n"); 60 void ControlLaw::UseDefaultPlot(const LayoutPosition *position) { 61 if (output->Rows() != 1) 62 Warn("Output size is different from 1. Plotting only Output(1,1).\n"); 63 63 64 DataPlot1D *plot=new DataPlot1D(position,ObjectName(),-1,1);65 64 DataPlot1D *plot = new DataPlot1D(position, ObjectName(), -1, 1); 65 plot->AddCurve(output->Element(0)); 66 66 } 67 67 } // end namespace filter
Note:
See TracChangeset
for help on using the changeset viewer.