You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
#pragma once
|
|
#include ".\Fpointinside.h"
|
|
/********************************************************************
|
|
网格结点类
|
|
Annotation by wcw
|
|
2011-7-28
|
|
*******************************************************************/
|
|
class AFX_EXT_CLASS CFPointLink
|
|
{
|
|
public:
|
|
CFPointLink(void);
|
|
~CFPointLink(void);
|
|
|
|
/* @brief nCount is the number of points connected with this*/
|
|
int Create(int nCount);
|
|
|
|
/* @brief 确定相邻结点指针 *pValue[i] */
|
|
void Link(void);
|
|
/* @brief 返回本结点45度对角结点指针 */
|
|
CFPointLink* Link45(int i);
|
|
/* @brief 返回本结点i方向相隔结点(90度直线)指针 */
|
|
CFPointLink* Link90(int i);
|
|
/*@ isFal == 1 or 0 */
|
|
void SetLink45(void);
|
|
|
|
/** @brief 由相关数据点(若存在)和相邻结点的值加权校正得到该结点值*/
|
|
double Iter(int ss);
|
|
/* @brief 通过周围两层结点的值确定目标结点值*/
|
|
double IterOther(void);
|
|
void IterOther(double& up, double& dn, double& di, int d);
|
|
void IterOther45(double& up, double& dn, double& di, int d);
|
|
void IterOther(double& up, double& dn, int d);
|
|
|
|
/* @brief 返回结点的值*/
|
|
double IterLine(void);
|
|
/* @brief 返回相邻4个网格结点的均值*/
|
|
double IterLineOther(void);
|
|
|
|
double value;
|
|
CFPointLink** m_pLink; //cross nods referred to the nod
|
|
CFPointInside* pInside; //data points related to the nod
|
|
char IsFal;
|
|
};
|