Files
ISTTOK/epics/css/sys-mng-opi/CSS/MARTe/GAMs/isttokbiblio/IWaveform.h
2019-10-21 16:02:55 +01:00

83 lines
1.5 KiB
C++

//******************************************************************************
//
// IWaveform.cpp - waveform container able to perform basic waveform operations
// Ivo Carvalho 27/4/2011
//
//******************************************************************************
#if !defined (IWAVEFORM_H)
#define IWAVEFORM_H
/** @file
waveform container able to perform basic waveform operations */
#include "Level0.h"
#include "Level1.h"
#include "Level2.h"
//OBJECT_DLL(IWaveform)
/** waveform container able to perform basic waveform operations */
class IWaveform {
//OBJECT_DLL_STUFF(IWaveform)
private:
int number_of_points;
float *index_vector;
float *data_vector;
float OutsideValueDefaultOutput;
int jl;
int ju;
int jm;
public:
float GetWaveformValue(float index_to_search);
bool SaveWaveform(float * received_index_vector,float * received_data_vector, int NumberOfPoints);
// bool AddPoint(float point_index, float point_data);
// bool RemovePoint(int index_to_remove);
// bool GetIndexVector(float &recived_index_vector);
// bool GetDataVector(float &received_data_vector);
int GetSize(){
return number_of_points;
}
float GetFirstIndex();
float GetLastIndex();
bool DefineOutsideValueDefaultValue(float outside_value_default_output);
IWaveform (float * received_index_vector,float * received_data_vector, int NumberOfPoints);
~IWaveform();
private:
bool SortWaveform();
bool RemoveRepeatedValues();
};
#endif