|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "itemselectcurve.h"
|
|
|
|
|
|
#include "itemfocusrect.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace NItem
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
#define MESH_GEOLOGICAL_SECTION 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MESH_VOLUME 2 //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define MESH_SET_VALUE 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD>Χ<EFBFBD>ڵ<EFBFBD>Zֵ
|
|
|
|
|
|
#define MESH_CUT 4 //<2F><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>
|
|
|
|
|
|
#define MESH_LINE_VALUE 5 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Zֵ
|
|
|
|
|
|
#define MESH_SCALE_Z 6 //Zֵ*ϵ<><CFB5>
|
|
|
|
|
|
#define MESH_VOLUME_MODE_SELECT 7 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㷽ʽѡ<CABD><D1A1>
|
|
|
|
|
|
#define MESH_CUT_SLICE 8 //<2F>е<EFBFBD>ʱ<EFBFBD><CAB1>Ƭ
|
|
|
|
|
|
|
|
|
|
|
|
class CItemMeshProcess : public CItemSelectCurve
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CItemMeshProcess(CSigmaDoc * ppDoc);
|
|
|
|
|
|
virtual ~CItemMeshProcess(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DoLButtonUp(CRect8& rect);
|
|
|
|
|
|
virtual BOOL DoSelectEnd(void);
|
|
|
|
|
|
void SetProcessIdea(int nIdea);
|
|
|
|
|
|
|
|
|
|
|
|
void OnOK(void) override;
|
|
|
|
|
|
void OnCancel(void) override;;
|
|
|
|
|
|
|
|
|
|
|
|
void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override;;
|
|
|
|
|
|
void OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk) override;;
|
|
|
|
|
|
int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point) override;;
|
|
|
|
|
|
BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) override;;
|
|
|
|
|
|
BOOL OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) override;
|
|
|
|
|
|
|
|
|
|
|
|
void ScaleZ(void);
|
|
|
|
|
|
void SetValueZ(void);
|
|
|
|
|
|
void LineValue(void);
|
|
|
|
|
|
|
|
|
|
|
|
bool CalculateVolume(CCurveEx* pCurveRange, int mode, double & zOut, double & volumeOut);
|
|
|
|
|
|
bool SetZOfSurface(CCurveEx* pCurveRange, int zMode, double zIn);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//INT_PTR DoModal(UINT nID);
|
|
|
|
|
|
|
|
|
|
|
|
int m_nIdea;
|
|
|
|
|
|
CItemFocusRect* m_pItemFocus;
|
|
|
|
|
|
|
|
|
|
|
|
double m_dValueZ;
|
|
|
|
|
|
int m_nModeSetZ; //<2F><><EFBFBD><EFBFBD>Zֵʱ<D6B5>ķ<EFBFBD>ʽ
|
|
|
|
|
|
|
|
|
|
|
|
bool SetZOfSurfaceInMode12(CCurveEx * pCurveRange, double z0, BOOL bInCurve);
|
|
|
|
|
|
void GeologicalSection(CCurveEx* pSplit);
|
|
|
|
|
|
void SetValue(CCurveEx* pCurveRange, double z0, BOOL bInCurve);
|
|
|
|
|
|
void Cut(CPositionList& select);
|
|
|
|
|
|
int Cut(CMesh* pMesh, CPositionList& select);
|
|
|
|
|
|
|
|
|
|
|
|
int LineValue(CMesh* pMesh, CPositionList& select);
|
|
|
|
|
|
int m_nLineValueMode;
|
|
|
|
|
|
double m_dLineValueStep;
|
|
|
|
|
|
|
|
|
|
|
|
void SetValueZ(int nModeSel, double z);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Volume(CCurveEx* pCurveRange, int mode); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_nVolumeMode;
|
|
|
|
|
|
public:
|
|
|
|
|
|
int GetVolumeMode(void); //<2F><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>ʲô<CAB2><C3B4><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0=<3D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>1=<3D>Ⱥ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
void CutSlice(void);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
};
|