|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "DrawModel\TypeSet.h"
|
|
|
|
|
|
#include "TInterval.h"
|
|
|
|
|
|
#include "DrawModel\ObjectSet.h"
|
|
|
|
|
|
#include "RowCol.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NSeis
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class CSeisIndexRandomLineSet;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
|
|
|
|
|
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD>ݸ<EFBFBD><DDB8>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>ж<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisIndexRandomLine
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisIndexRandomLine(void);
|
|
|
|
|
|
~CSeisIndexRandomLine(void);
|
|
|
|
|
|
|
|
|
|
|
|
bool isEmpty() const { return nodes_.isEmpty(); }
|
|
|
|
|
|
int size() { return nodes_.size(); }
|
|
|
|
|
|
|
|
|
|
|
|
int addNode(const CRowCol& rc);
|
|
|
|
|
|
void insertNode(int idx,const CRowCol& rc);
|
|
|
|
|
|
void setNodePosition(int idx,const CRowCol& rc);
|
|
|
|
|
|
void removeNode(int idx);
|
|
|
|
|
|
void removeNode(const CRowCol& rc);
|
|
|
|
|
|
//void limitTo(const CubeSampling&); // nrNodes should be 2
|
|
|
|
|
|
|
|
|
|
|
|
int nodeIndex(const CRowCol& rc) const;
|
|
|
|
|
|
int nrNodes() const;
|
|
|
|
|
|
const CRowCol& nodePosition(int idx) const;
|
|
|
|
|
|
void allNodePositions(TTypeSet<CRowCol>& rcs) const;
|
|
|
|
|
|
|
|
|
|
|
|
void setZRange( const TInterval<float>& rg ) { zrange_ = rg; }
|
|
|
|
|
|
TInterval<float> zRange() const { return zrange_; }
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
TTypeSet<CRowCol> nodes_; //<2F>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TInterval<float> zrange_; //ʱ<>䷶Χ
|
|
|
|
|
|
|
|
|
|
|
|
CSeisIndexRandomLineSet* m_pLinesSet;
|
|
|
|
|
|
|
|
|
|
|
|
friend class CSeisIndexRandomLineSet;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisIndexRandomLineSet : public TObjectSet<CSeisIndexRandomLine>
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisIndexRandomLineSet();
|
|
|
|
|
|
|
|
|
|
|
|
void AddLine(CSeisIndexRandomLine* srl) { srl->m_pLinesSet=this; *this += srl; }
|
|
|
|
|
|
void RemoveLine(int nIndex) { delete remove(nIndex); }
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
}//namespace
|
|
|
|
|
|
|
|
|
|
|
|
using namespace NSeis;
|
|
|
|
|
|
|
|
|
|
|
|
|