OpendTect  6.6
emrandomposbody.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Yuancheng Liu
8  Date: January 2009
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 #include "embody.h"
17 #include "emobject.h"
18 
19 class DataPointSet;
20 namespace Pick { class Set; }
21 
22 namespace EM
23 {
24 
29 mExpClass(EarthModel) RandomPosBody : public Body, public EMObject
31 public:
32 
33  const char* type() const { return typeStr(); }
34  virtual int nrSections() const { return 1; }
35  virtual SectionID sectionID(int) const { return 0; }
36  virtual bool canSetSectionName() const { return 0; }
37 
40  { return 0; }
41 
42  void copyFrom(const Pick::Set&);//get my own picks.
43  void copyFrom(const DataPointSet&,int selgrp);
44  //copy all for selgrp < 0.
45  void copyFrom(const DataPointSet&,int dpscolid,
46  const Interval<float>& valrg);
48  const TypeSet<Coord3>& getPositions() const { return locations_; }
49  bool addPos(const Coord3&);
50 
51  const TypeSet<EM::SubID>& posIDs() const { return ids_; }
52 
53  Coord3 getPos(const EM::PosID&) const;
55  const EM::SubID&) const;
56  bool setPos(const EM::PosID&,const Coord3&,
57  bool addtohistory);
58  bool setPos(const EM::SectionID&,const EM::SubID&,
59  const Coord3&,bool addtohistory);
60  const IOObjContext& getIOObjContext() const;
61  virtual Executor* saver();
62  virtual Executor* saver(IOObj*);
63  virtual Executor* loader();
64  virtual bool isEmpty() const;
65 
68 
69  MultiID storageID() const;
71 
72  void refBody();
73  void unRefBody();
74 
75  bool useBodyPar(const IOPar&);
76  void fillBodyPar(IOPar&) const;
77 
79  { return tr("Random Position Body"); }
80 
81  static const char* sKeySubIDs() { return "Position IDs"; }
82 protected:
83 
86 };
87 
88 } // namespace EM
89 
EM::RandomPosBody::setPositions
void setPositions(const TypeSet< Coord3 > &)
emobject.h
EM::RandomPosBody::isEmpty
virtual bool isEmpty() const
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
EM::RandomPosBody::sectionGeometry
Geometry::Element * sectionGeometry(const SectionID &)
Definition: emrandomposbody.h:38
EM::RandomPosBody::addPos
bool addPos(const Coord3 &)
Pick::Set
Set of picks with something in common.
Definition: pickset.h:34
EM::RandomPosBody::refBody
void refBody()
Should be mapped to EMObject::ref()
EM::RandomPosBody::copyFrom
void copyFrom(const Pick::Set &)
EM::SubID
od_int64 SubID
Definition: emposid.h:25
EM::RandomPosBody::sectionGeometry
const Geometry::Element * sectionGeometry(const SectionID &) const
Definition: emrandomposbody.h:39
EM::RandomPosBody::type
const char * type() const
Definition: emrandomposbody.h:33
Pick
Definition: picklocation.h:21
EM::RandomPosBody::posIDs
const TypeSet< EM::SubID > & posIDs() const
Definition: emrandomposbody.h:51
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Geometry::Element
Definition: geomelement.h:37
EM::RandomPosBody::useBodyPar
bool useBodyPar(const IOPar &)
Should be mapped to EMObject::usePar;.
EM::RandomPosBody::sKeySubIDs
static const char * sKeySubIDs()
Definition: emrandomposbody.h:81
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
EM::RandomPosBody::getPositions
const TypeSet< Coord3 > & getPositions() const
Definition: emrandomposbody.h:48
EM::RandomPosBody::saver
virtual Executor * saver()
EM::RandomPosBody::copyFrom
void copyFrom(const DataPointSet &, int selgrp)
EM::RandomPosBody::ids_
TypeSet< EM::SubID > ids_
Definition: emrandomposbody.h:85
EM::RandomPosBody::locations_
TypeSet< Coord3 > locations_
Definition: emrandomposbody.h:84
DataPointSet
Set of data points with group selection.
Definition: datapointset.h:48
EM::RandomPosBody::getPos
Coord3 getPos(const EM::SectionID &, const EM::SubID &) const
EM::RandomPosBody::fillBodyPar
void fillBodyPar(IOPar &) const
Should be mapped to EMObject::fillPar;.
EM::RandomPosBody::setPos
bool setPos(const EM::SectionID &, const EM::SubID &, const Coord3 &, bool addtohistory)
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
IOObjContext
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
EM::RandomPosBody
Random position Body.
Definition: emrandomposbody.h:30
EM::ImplicitBody
Implicit representation of a body.
Definition: embody.h:32
mDefineEMObjFuncs
#define mDefineEMObjFuncs(clss)
Definition: emobject.h:374
TaskRunner
Class that can execute a task.
Definition: task.h:170
IOObj
Definition: ioobj.h:58
EM::RandomPosBody::getUserTypeStr
uiString getUserTypeStr() const
Definition: emrandomposbody.h:78
EM::RandomPosBody::nrSections
virtual int nrSections() const
Definition: emrandomposbody.h:34
EM::RandomPosBody::storageName
BufferString storageName() const
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
EM::RandomPosBody::getBodyRange
bool getBodyRange(TrcKeyZSampling &)
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
EM::RandomPosBody::copyFrom
void copyFrom(const DataPointSet &, int dpscolid, const Interval< float > &valrg)
EM::SectionID
od_int16 SectionID
Definition: emposid.h:24
EM::RandomPosBody::createImplicitBody
ImplicitBody * createImplicitBody(TaskRunner *, bool) const
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
EM::RandomPosBody::saver
virtual Executor * saver(IOObj *)
EM::RandomPosBody::sectionID
virtual SectionID sectionID(int) const
Definition: emrandomposbody.h:35
EM::RandomPosBody::getPos
Coord3 getPos(const EM::PosID &) const
EM::RandomPosBody::loader
virtual Executor * loader()
EM::RandomPosBody::canSetSectionName
virtual bool canSetSectionName() const
Definition: emrandomposbody.h:36
EM::EMObject
Base class for all EarthModel objects.
Definition: emobject.h:159
EM::RandomPosBody::setPos
bool setPos(const EM::PosID &, const Coord3 &, bool addtohistory)
EM::RandomPosBody::storageID
MultiID storageID() const
Interval< float >
embody.h
sKey::Body
FixedString Body()
Definition: keystrs.h:42
EM::RandomPosBody::getIOObjContext
const IOObjContext & getIOObjContext() const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
EM::PosID
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
TypeSet< Coord3 >
EM::RandomPosBody::unRefBody
void unRefBody()
Should be mapped to EMObject::unRef()

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021