|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>桢<EFBFBD><E6A1A2>Ƭ<EFBFBD>еĹ<D0B5><C4B9>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>кõ<D0BA><C3B5><EFBFBD><EFBFBD>桢<EFBFBD><E6A1A2>Ƭ
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2011-11-29
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "AttachBase.h"
|
|
|
|
|
|
#include "BuilderBase.h"
|
|
|
|
|
|
#include "RowColRange.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NSeis
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>CBuilderBase<73><65><EFBFBD><EFBFBD>
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisBox : public CAttachBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisBox(void);
|
|
|
|
|
|
~CSeisBox(void);
|
|
|
|
|
|
|
|
|
|
|
|
//ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
|
|
|
|
|
|
CBuilderBase* GetBuilder() { return (CBuilderBase*)GetInput(); }
|
|
|
|
|
|
CSeisSurvey3D& GetSurvey() { return GetBuilder()->GetSurvey(); }
|
|
|
|
|
|
|
|
|
|
|
|
void Clear();
|
|
|
|
|
|
void operator = (CSeisBox& id);
|
|
|
|
|
|
|
|
|
|
|
|
bool CreateCubeSection(int nMode); //nMode=1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, nMode=2Ϊ<32><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>漰<EFBFBD><E6BCB0>Ƭ<EFBFBD><C6AC>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϊָ<CEAA><D6B8><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD>
|
|
|
|
|
|
bool CreateTexture(CColorBase& cb, int nBPP);
|
|
|
|
|
|
bool CreateTexture();
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//Create<74><65><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD>intֵΪ<D6B5><CEAA><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>-1<><31>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD>ڲ<EFBFBD><DAB2>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>ΪCMeshRand2D
|
|
|
|
|
|
//EOrientation<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateRandMeshRC(IN CCurve* pCurve, EOrientation curOri);
|
|
|
|
|
|
// <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>Ϊʵ<CEAA><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateRandMeshXY(IN CCurve* pCurve, EOrientation curOri);
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD>ڲ<EFBFBD><DAB2>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>ΪCMesh2D
|
|
|
|
|
|
// <20><><EFBFBD>õ<EFBFBD>ʱ<EFBFBD><CAB1>Ƭ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateSliceUp(float z_value, bool bLineValue = false);
|
|
|
|
|
|
// <20><><EFBFBD>ݽ<EFBFBD><DDBD>Ͳ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>
|
|
|
|
|
|
// dn<64><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>
|
|
|
|
|
|
// pInsuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>
|
|
|
|
|
|
int CreateSliceRC(IN CDimension2D* pInSuf, bool bLineValue = true);
|
|
|
|
|
|
// <20><><EFBFBD>ݽ<EFBFBD><DDBD>Ͳ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊʵ<CEAA><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// dn<64><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>Ϊʵ<CEAA><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// pInsuf<75><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>Ϊʵ<CEAA><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateSliceXY(IN CDimension2D* pInSuf, bool bLineValue = true);
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD>ڲ<EFBFBD><DAB2>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>ΪCSeisLineData
|
|
|
|
|
|
// <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>ΪXYƽ<59><C6BD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateRandLineRC(IN CCurve* pCurve);
|
|
|
|
|
|
// <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD>ΪXYƽ<59><C6BD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateRandLineXY(IN CCurve* pCurve);
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ߵ<EFBFBD><DFB5>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD><EFBFBD>areaSnapStep״̬<D7B4>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
|
|
|
|
|
//<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateInline(float row_line_num, bool bReMemory = true);
|
|
|
|
|
|
//<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateCrossline(float col_line_num, bool bReMemory = true);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ߵ<EFBFBD><DFB5>ź<EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
void CalculateItem(CCubeRange& ro,CCubeRange& rn);
|
|
|
|
|
|
|
|
|
|
|
|
void SetCubeRange(CCubeRange& range) { m_range = range; }
|
|
|
|
|
|
CCubeRange& GetCubeRange() { return m_range; }
|
|
|
|
|
|
|
|
|
|
|
|
bool WriteSegy(LPCTSTR lpszFileName); //<2F><><EFBFBD>ݵ<EFBFBD>ǰָ<C7B0><D6B8><EFBFBD>ķ<EFBFBD>Χд<CEA7><D0B4><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//> start
|
|
|
|
|
|
//> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>漰<EFBFBD><E6BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ϊ<EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
enum ESectionType
|
|
|
|
|
|
{
|
|
|
|
|
|
modeNone = 0,
|
|
|
|
|
|
modeInline = 1, ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
modeCrossLine, ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬 ָ<><D6B8>ΪCSeisLineData<74><61><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
modeSlice, ///< <20><>ʱ<EFBFBD><CAB1>Ƭ
|
|
|
|
|
|
modeSurfaceSlice, ///< <20>ز<EFBFBD><D8B2><EFBFBD>Ƭ<EFBFBD><C6AC> ָ<><D6B8>ΪCMesh2D<32><44><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
modeRandomLine, ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬 ָ<><D6B8>ΪCSeisLineData<74><61><EFBFBD><EFBFBD>
|
|
|
|
|
|
modeRandomSlice, ///< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC> ָ<><D6B8>ΪCMeshRand2D<32><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>淽<EFBFBD><E6B7BD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionItem : public CAttachBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionItem(CSeisBox* pParentList)
|
|
|
|
|
|
{
|
|
|
|
|
|
SetParentList(pParentList);
|
|
|
|
|
|
m_type = modeNone;
|
|
|
|
|
|
m_pTexture = NULL;
|
|
|
|
|
|
m_nBPP = 32;
|
|
|
|
|
|
}
|
|
|
|
|
|
~CSectionItem(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
virtual bool CreateTexture() { return false; }
|
|
|
|
|
|
virtual CTexture* GetTexture() { return m_pTexture; }
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool RecreateSection() { return m_pParentList->RecreateSection(this); }
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B6A8B5><EFBFBD><EFBFBD>߿ռ<DFBF><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual bool GetCurveCoordRC(CCurve& cv, bool bIsMaxRange) { return false; }
|
|
|
|
|
|
|
|
|
|
|
|
void SetParentList(CSeisBox* pParentList) { m_pParentList = pParentList; }
|
|
|
|
|
|
void operator = (CSectionItem& si);
|
|
|
|
|
|
|
|
|
|
|
|
ESectionType m_type;
|
|
|
|
|
|
CColorBase m_colbar;
|
|
|
|
|
|
int m_nBPP;
|
|
|
|
|
|
CTexture* m_pTexture;
|
|
|
|
|
|
CSeisBox* m_pParentList;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>¡һ<C2A1><D2BB><EFBFBD><EFBFBD>Ԫ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD><F3A3ACB7><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC>Ҫ<EFBFBD><D2AA><EFBFBD>ⲿɾ<E2B2BF><C9BE>
|
|
|
|
|
|
int GetCount() { return m_sections.size(); }
|
|
|
|
|
|
CSectionItem* CloneItem(IN CSectionItem* pItem);
|
|
|
|
|
|
CSectionItem* GetAt(int nIndex) { return m_sections[nIndex]; }
|
|
|
|
|
|
CSectionItem* operator[] (int nIndex) { return m_sections[nIndex]; }
|
|
|
|
|
|
void RemoveAt(int nIndex);
|
|
|
|
|
|
void Remove(CSectionItem* pItem);
|
|
|
|
|
|
bool IsEmpty();
|
|
|
|
|
|
|
|
|
|
|
|
//ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool RecreateSection(void);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool RecreateSection(int nIndex);
|
|
|
|
|
|
//ʹ<><CAB9>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬һ<E6A3AC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool RecreateSection(CSectionItem* pItem);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int AfterCreate(CSectionItem* pItem); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
|
|
|
|
|
|
bool GetItemMaxMin(CSectionItem* pItem, double& dmin, double& dmax);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionItemLine : public CSectionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionItemLine(CSeisBox* pParentList);
|
|
|
|
|
|
|
|
|
|
|
|
CSeisLineData* GetData(){ return (CSeisLineData*)GetInput(); }
|
|
|
|
|
|
EOrientation GetOrientation() { return GetData()->GetOrientation(); }
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B6A8B5><EFBFBD><EFBFBD>߿ռ<DFBF><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual bool GetCurveCoordRC(CCurve& cv, bool bIsMaxRange);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
virtual bool CreateTexture();
|
|
|
|
|
|
|
|
|
|
|
|
void operator = (CSectionItemLine& id);
|
|
|
|
|
|
|
|
|
|
|
|
float line_value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionItemRandLine : public CSectionItemLine
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionItemRandLine(CSeisBox* pParentList);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
void operator = (CSectionItemRandLine& id);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B6A8B5><EFBFBD><EFBFBD>߿ռ<DFBF><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual bool GetCurveCoordRC(CCurve& cv, bool bIsMaxRange);
|
|
|
|
|
|
|
|
|
|
|
|
CCurve* m_pCurve; //<2F><><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionItemSlice : public CSectionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionItemSlice(CSeisBox* pParentList);
|
|
|
|
|
|
|
|
|
|
|
|
CMesh2D* GetData() { return (CMesh2D*)GetInput(); }
|
|
|
|
|
|
virtual bool CreateTexture();
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
void operator = (CSectionItemSlice& id);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B6A8B5><EFBFBD><EFBFBD>߿ռ<DFBF><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual bool GetCurveCoordRC(CCurve& cv, bool bIsMaxRange);
|
|
|
|
|
|
|
|
|
|
|
|
float zslice_value; //Ϊ<><CEAA>ʱ<EFBFBD><CAB1>Ƭʱ<C6AC><CAB1>ʱ<EFBFBD><CAB1>ֵ<EFBFBD><D6B5><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ƭ<EFBFBD><C6AC>ʹ<EFBFBD>øò<C3B8><C3B2><EFBFBD>
|
|
|
|
|
|
bool m_bLineValue;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionItemSurfaceSlice : public CSectionItemSlice
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionItemSurfaceSlice(CSeisBox* pParentList);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
void operator = (CSectionItemSurfaceSlice& id);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B6A8B5><EFBFBD><EFBFBD>߿ռ<DFBF><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual bool GetCurveCoordRC(CCurve& cv, bool bIsMaxRange) { return false; }
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
CDimension2D* m_pSurface;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CSectionItemRandSlice : public CSectionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSectionItemRandSlice(CSeisBox* pParentList);
|
|
|
|
|
|
virtual bool CreateTexture();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3B6A8B5><EFBFBD><EFBFBD>߿ռ<DFBF><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual bool GetCurveCoordRC(CCurve& cv, bool bIsMaxRange);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Clear(void);
|
|
|
|
|
|
CMeshRand2D* GetData() { return (CMeshRand2D*)GetInput(); }
|
|
|
|
|
|
void operator = (CSectionItemRandSlice& id);
|
|
|
|
|
|
|
|
|
|
|
|
CCurve* m_pCurve;
|
|
|
|
|
|
EOrientation m_ori;
|
|
|
|
|
|
};
|
|
|
|
|
|
//> stop
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
TObjectSet<CSectionItem> m_sections; //<2F><><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
|
|
|
|
|
|
CCubeRange m_range; //<2F>巶Χ<E5B7B6><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Χ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>弰<EFBFBD><E5BCB0><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisCubeSet
|
|
|
|
|
|
: public TObjectSet<CSeisBox>
|
|
|
|
|
|
, public CAttachBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisCubeSet();
|
|
|
|
|
|
virtual ~CSeisCubeSet();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>pInputָ<74><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>ڲ<EFBFBD><DAB2>Զ<EFBFBD>ɾ<EFBFBD><C9BE>
|
|
|
|
|
|
virtual bool AttachInput(void* pBuilderBase, bool bAutoDelete = false);
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
|
|
|
|
|
|
CBuilderBase* GetBuilder() { return (CBuilderBase*)GetInput(); }
|
|
|
|
|
|
CSeisSurvey3D& GetSurvey() { return GetBuilder()->GetSurvey(); }
|
|
|
|
|
|
|
|
|
|
|
|
//nMode=0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//nMode=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
//nMode=2<><32>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int CreateCube(int nMode); //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ȫ<EFBFBD><C8AB>Χ<EFBFBD><CEA7>
|
|
|
|
|
|
int CreateCube(CCubeRange range, int nMode);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬<EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}//namespace
|