00001
00002 #ifndef ANAPHE_AIDADEVDATAPOINTSETFACTORY
00003 #define ANAPHE_AIDADEVDATAPOINTSETFACTORY 1
00004
00005 #include "AIDA_Dev/IDevDataPointSetFactory.h"
00006
00007 namespace AIDA {
00008 class IAnnotation;
00009 };
00010
00011 namespace Anaphe {
00012 namespace AIDA_DataPointSet_native {
00013
00015
00016 class AIDA_DevDataPointSetFactory : virtual public AIDA::Dev::IDevDataPointSetFactory
00017 {
00018 public:
00020 AIDA_DevDataPointSetFactory() { ; }
00022 ~AIDA_DevDataPointSetFactory() { ; }
00023
00025 AIDA::Dev::IDevDataPointSet* create( const std::string& title, int dimensionOfPoint );
00026 AIDA::Dev::IDevDataPointSet* create( int dimensionOfPoint );
00027 AIDA::Dev::IDevDataPointSet* createCopy( const AIDA::IDataPointSet & original );
00029 bool destroy ( AIDA::IDataPointSet * dataPointSet );
00030
00032 AIDA::Dev::IDevDataPointSet* create( const AIDA::IHistogram1D & h );
00033 AIDA::Dev::IDevDataPointSet* create( const AIDA::IHistogram2D & h );
00034 AIDA::Dev::IDevDataPointSet* create( const AIDA::IHistogram3D & h );
00036 AIDA::Dev::IDevDataPointSet* create( const AIDA::ICloud1D & c );
00037 AIDA::Dev::IDevDataPointSet* create( const AIDA::ICloud2D & c );
00038 AIDA::Dev::IDevDataPointSet* create( const AIDA::ICloud3D & c );
00040 AIDA::Dev::IDevDataPointSet* create( const AIDA::IProfile1D & p );
00041 AIDA::Dev::IDevDataPointSet* create( const AIDA::IProfile2D & p );
00042
00043
00044
00045
00047
00049
00051
00053
00055
00056
00057 private:
00058 AIDA::IAnnotation* createAnnotation();
00059 };
00060
00061 }
00062 };
00063
00064 #endif