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.
kev/Drawer/SSBase/MxnFormat/SeisIndexRandomLine.h

63 lines
1.5 KiB
C

1 month ago
#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;