12 typedef std::vector<float> FKeys_t;
13 typedef std::vector<StMultyKeyNode*> Links_t;
19 virtual const char * ClassName()
const {
return "StMultyKeyNode";}
20 virtual void Set(
const void *obj,
const float *keys){assert(0);}
23 virtual const float *GetKeys()
const {
return 0;}
24 virtual int GetIKey()
const { assert(0);
return 0;}
25 virtual void SetIKey(
int ik) { assert(0) ;}
26 virtual void *GetObj ()
const {
return 0;}
27 virtual const float *GetDow()
const { assert(0);
return 0;}
28 virtual const float *GetStp()
const { assert(0);
return 0;}
29 int MaxDeep(
int *deep=0)
const;
31 double Quality(
int *numb=0)
const;
32 virtual int ls(
const char* =
"" )
const;
33 virtual void Clear(
const char* =0) { assert(0) ;}
54 const char *ClassName()
const {
return "StMultyKeyDivd";}
57 int GetIKey()
const {
return mIKey ;}
58 void SetIKey(
int ikey) { mIKey = ikey ;}
59 const float *GetDow()
const {
return &mDow[0];}
60 const float *GetStp()
const {
return &mStp[0];}
62 void Clear(
const char* opt=0);
79 const char *ClassName()
const {
return "StMultyKeyPair";}
80 virtual void Set(
const void *obj,
const float *keys);
82 const float *GetKeys()
const {
return &mKeys[0];}
83 void *GetObj ()
const {
return (
void*)mObj ;}
84 void Clear(
const char* opt=0);
99 void Clear(
const char *opt=
"");
101 void Add(
const void *obj,
const float *keys);
102 void Add(
const void *obj,
const double *keys);
105 int MakeTree(
int keepArray=0);
106 int Size()
const {
return mSize;}
107 int GetNKey()
const {
return mNKey;}
108 int GetNBin()
const {
return mNBin;}
122 std::vector<StMultyKeyNode*> mArr;
123 std::list<StMultyKeyPair*> mPairs;
124 std::list<StMultyKeyDivd*> mNodes;
134 void Set(
const StMultyKeyNode *node,
const float *kMin=0,
const float *kMax=0);
135 void Update(
const float *kMin=0,
const float *kMax=0);
142 int Level()
const {
return mLev;}
144 float *GetKMin()
const {
return mKMin;}
145 float *GetKMax()
const {
return mKMax;}
146 const int *Touched()
const {
return mTouched;}
150 mutable int mTouched[3];
151 std::vector<float> mMinMax;
158 std::vector<myStk_t> mStk;
162 inline int StMultyKeyNode::GetNKey()
const {
return mMap->GetNKey();}
163 inline int StMultyKeyNode::GetNBin()
const {
return mMap->GetNBin();}
164 #endif //MULTYKEYBINTREE_H