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