00001
00002
00003 #ifndef GAUSSIAN_SET_H
00004 #define GAUSSIAN_SET_H
00005
00006 #include "gaussian.h"
00007 #include "mean_set.h"
00008 #include "covariance_set.h"
00009 #include "Object.h"
00010
00011 namespace FD {
00012
00013 class GaussianSet : public Object {
00014 protected:
00015 int nb_gaussians;
00016 Vector<RCPtr<Gaussian> > gaussians;
00017 public:
00019 GaussianSet()
00020 : nb_gaussians(0)
00021 {};
00022
00024 int getIDFor(RCPtr<Gaussian>);
00025
00027 RCPtr<Gaussian> getPtrFor(int id) const;
00028
00030 void toIDs(MeanSet & means, CovarianceSet & covariances);
00031
00033 void toPtrs(const MeanSet & means, const CovarianceSet & covariances) const;
00034
00036 virtual void printOn(std::ostream &out=std::cout) const;
00037
00039 void readFrom (std::istream &in=std::cin);
00040
00042 friend std::istream &operator >> (std::istream &in, GaussianSet &cov);
00043
00044 };
00045
00046 }
00047
00048 #endif