#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; //最大角度 }; };