12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #include "vislearning/math/mathbase/Featuretype.h"
- using namespace OBJREC;
- using namespace NICE;
- using namespace std;
- FeatureType::FeatureType(const FeatureType &_ft)
- {
- sv = _ft.sv;
- v = _ft.v;
- ft = _ft.ft;
- }
- FeatureType::FeatureType(int f, int dim)
- {
- ft = f;
- setDim(dim);
- }
- FeatureType::FeatureType(SparseVector &tsv) : sv(tsv)
- {
- sv = tsv;
- ft = SPARSEVECTORFEATURE;
- v.clear();
- }
- FeatureType::FeatureType(Vector &tv) //: v(tv)
- {
- v.resize(tv.size());
- for(int i = 0; i < v.size(); i++)
- {
- v[i] = tv[i];
- }
- ft = VECTORFEATURE;
- sv.clear();
- }
-
- void FeatureType::setDim(int dim)
- {
- if(ft == SPARSEVECTORFEATURE)
- {
- sv.setDim(dim);
- }
- else
- {
- v.resize(dim);
- }
- }
-
- double FeatureType::get(int pos) const
- {
- assert(pos < getDim());
- if(ft == SPARSEVECTORFEATURE)
- {
- return sv.get(pos);
- }
- else
- {
- return v[pos];
- }
- }
-
- int FeatureType::getType()
- {
- return ft;
- }
- int FeatureType::getDim() const
- {
- if(ft == SPARSEVECTORFEATURE)
- {
- return sv.getDim();
- }
- else
- {
- return (int)v.size();
- }
- }
-
- const NICE::Vector& FeatureType::getVec() const
- {
- return v;
- }
- const SparseVector& FeatureType::getSVec() const
- {
- return sv;
- }
|