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.

48 lines
1.2 KiB
C++

#pragma once
#include "item.h"
class TiXmlElement;
namespace NItem
{
#define FIND_MATH 0 //数学发现
#define FIND_REPEAT 1 //查找重复元素
#define FIND_DEVIED_CURVE 2 //发现另一方向曲线
class CItemMathFind :
public CItem
{
public:
CItemMathFind(CSigmaDoc* ppDoc);
virtual ~CItemMathFind(void);
//属性项
//virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid);
//virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem);
void MathFind(int kind, double step, double remainder, int start, TiXmlElement *rootElement);
void MathFind(TiXmlElement *rootElement); //数学发现
void FindRepeatElements(void); //查找重复元素
void DevidedCurve(void);
void SetFindMode(int nMode);
int FindRepeat(int nType, CPositionList &repeatList);
int m_selType; //选择类型: 曲线, 点类
BOOL m_bCompareLayer; //比较类别
BOOL m_bCompareName; //比较曲线名称
double m_dCompareError; //比较最大误差值
protected:
int m_nMode; //查找方式
bool CompareElement(COne* pOnePrev, COne* pOneNext, double error, BOOL bCompareLayer, BOOL bCompareName);
double step; //步长
double remains; //余数
long m_index; //数学发现时从第几个字符索引开始
double maxAngle; //最大角度
};
};