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++

#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;
};