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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# pragma once
# include "atltypes.h"
/** @brief 记录边界或者断层经过的网格点i,j序号, 以及对应轮廓线号*/
class AFX_EXT_CLASS CFPointNo :
public CPoint
{
public :
CFPointNo ( void ) ;
~ CFPointNo ( void ) ;
int no ; //轮廓线序号
} ;
/************************************************************************
类 名: CPointNos
主要功能: 存储轮廓线包围的所有垂直网格线段起始点序号(i1,j1)( i2,j2),即
轮廓线包围的所有网格结点信息
Annotation: Nino
Time: 2011-8-11
pValue[1].x,*.y________________pValue[2*i+1].x,*.y
|___|_____|_____|
|___|_____|_____| int
|___|_____|_____|
pValue[0].x,*.y pValue[2*i].x,*.y
************************************************************************/
class AFX_EXT_CLASS CFPointNos
{
public :
CFPointNos ( void ) ;
~ CFPointNos ( void ) ;
/** @brief 垂直网格线首尾点总数目 条数x2 */
int nCount ;
/** @brief 存储垂直网格线段首尾结点序号,按从小到大排序 */
CFPointNo * pValue ;
int Create ( int nCount ) ;
int Create ( CCurve & cur , CGrid & grid ) ;
int Create ( CPtrList & cur_list , CGrid & grid ) ;
int Create ( double i1 , double j1 , double i2 , double j2 , int & k , int no ) ;
/** @brief 得到所有曲线包围的所有网格结点的数目*/
int GetTotal ( void ) ;
int GetTotalY ( void ) ;
private :
/** @brief 若曲线上结点恰好落在垂直网格线上, 则做x方向微量偏移*/
void MigrateCurveX ( CCurve & cur , CGrid & grid ) ;
} ;