📄 ell.h
字号:
// ell.h: interface for the Cell class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ELL_H__616C9FC1_57B7_4F35_A68C_622A1EF63DA3__INCLUDED_)
#define AFX_ELL_H__616C9FC1_57B7_4F35_A68C_622A1EF63DA3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "PointSet.h"
class Cell
{
private:
float m_fOriginX;
float m_fOriginY;
float m_fOriginZ;
int m_iLevel;
BOOL m_bIsLeaf;
int *m_pPointIndex;
int m_iPointNum;
Cell *m_pChild[8];
public:
void Delete();
void FitRBF(PointSet *ps, float *lamta, float *b);
void GetLeavesNum(int &count);
void GetCoarseGrid(int num, int *indexTable, int &tableSize);
int* GetPointIndex();
void DrawCell(float sizeX, float sizeY, float sizeZ);
void AddIntoTable(PointSet *ps, int *table, int &tableSize, float x, float y, float z, float r, float sizeX, float sizeY, float sizeZ);
void AddLeafSize(float sizeX, float sizeY, float sizeZ, int &count, float &SIZE);
int GetPointNum();
BOOL IsLeaf();
void CleanChildren();
void SplitChild(int MAXLEVEL, PointSet *ps, float sizeX, float sizeY, float sizeZ);
void AddPoint(int index, PointSet *ps, float sizeX, float sizeY, float sizeZ);
void CreatChildren(float sizeX, float sizeY, float sizeZ);
float GetSize(float bigSize);
void GetOrigin(float &ox, float &oy, float &oz);
void SetOrigin(float ox, float oy, float oz);
Cell(int level, float ox, float oy, float oz);
virtual ~Cell();
private:
//f(r, k, c) = (sqrt(||X-C||^2 + c*c))^(k);
inline float BasicFunc(float *X, float *C, int k, float c);
};
#endif // !defined(AFX_ELL_H__616C9FC1_57B7_4F35_A68C_622A1EF63DA3__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -