OpendTect  6.6
vismarchingcubessurfacedisplay.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: Kristofer Tingdahl
8  Date: 4-11-2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "vissurveymod.h"
16 #include "attribsel.h"
17 #include "emposid.h"
18 #include "visobject.h"
19 #include "vissurvobj.h"
20 
21 
22 namespace Geometry { class ExplicitIndexedShape; }
23 namespace EM { class MarchingCubesSurface; class ImplicitBody; }
24 namespace visBase { class GeomIndexedShape; class MarchingCubesSurface;
25  class Transformation; };
26 
27 namespace visSurvey
28 {
29 
33 public:
37  "MarchingCubesDisplay",
38  ::toUiString(sFactoryKeyword()) );
39 
41  bool isInlCrl() const { return true; }
42 
43  bool hasColor() const { return true; }
44  bool usesColor() const;
45  Color getColor() const;
46  void setColor(Color);
47  bool allowMaterialEdit() const { return true; }
49 
50  void useTexture(bool yn);
51  bool usesTexture() const;
52  bool showsTexture() const;
53  bool canShowTexture() const;
54 
57 
62 
63  const char* errMsg() const { return errmsg_.str(); }
64 
66  int nrAttribs() const;
67  bool canAddAttrib(int) const;
68  bool canRemoveAttrib() const;
69  bool canHandleColTabSeqTrans(int) const;
71 
75  bool canSetColTabSequence() const;
77  TaskRunner*);
78  void setSelSpec(int,const Attrib::SelSpec&);
79  void setSelSpecs(int attrib,
81  const Attrib::SelSpec* getSelSpec(int attrib,int version=0) const;
82  const TypeSet<Attrib::SelSpec>* getSelSpecs(int attrib) const;
83  void setDepthAsAttrib(int);
84  void setIsoPatch(int);
85  void enableAttrib(int attrib,bool yn);
86  bool isAttribEnabled(int attrib) const;
87  bool hasSingleColorFallback() const { return true; }
88 
90  void setRandomPosData( int attrib,
91  const DataPointSet*, TaskRunner*);
92 
93  void setOnlyAtSectionsDisplay(bool yn);
95 
96  bool canRemoveSelection() const { return true; }
98  TaskRunner*);
99  EM::MarchingCubesSurface* getMCSurface() const { return emsurface_; }
101  { return displaysurface_; }
102 
103 protected:
104 
106  bool updateVisFromEM(bool onlyshape,TaskRunner*);
107  virtual void fillPar(IOPar&) const;
108  virtual bool usePar(const IOPar&);
110 
112  IOPar& iop ) const;
114  Coord3& xyzpos, BufferString& val,
115  BufferString& info) const;
118  int whichobj);
121 
122  static const char* sKeyEarthModelID() { return "EM ID"; }
123  static const char* sKeyAttribSelSpec() { return "Attrib SelSpec"; }
124  static const char* sKeyColTabMapper() { return "Coltab mapper"; }
125  static const char* sKeyColTabSequence() { return "Coltab sequence"; }
126  static const char* sKeyUseTexture() { return "Use texture"; }
127 
133 
137 
140 
142  {
147 
148  int planeid_;
150  float planepos_;
151 
152  bool computed_;
153  };
154 
158 
159 public:
160  void displayIntersections(bool yn)
161  { setOnlyAtSectionsDisplay(yn); }
163  { return displayedOnlyAtSections(); }
164 };
165 
166 } // namespace visSurvey
167 
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visSurvey::MarchingCubesDisplay::MarchingCubesDisplay
MarchingCubesDisplay()
visSurvey::MarchingCubesDisplay::errMsg
const char * errMsg() const
Definition: vismarchingcubessurfacedisplay.h:63
visSurvey::MarchingCubesDisplay::getDisplaySurface
visBase::MarchingCubesSurface * getDisplaySurface() const
Definition: vismarchingcubessurfacedisplay.h:100
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo
Definition: vismarchingcubessurfacedisplay.h:142
Selector< Coord3 >
emposid.h
visSurvey::MarchingCubesDisplay::getSelSpecs
const TypeSet< Attrib::SelSpec > * getSelSpecs(int attrib) const
visSurvey::MarchingCubesDisplay::setDisplayTransformation
void setDisplayTransformation(const mVisTrans *)
visSurvey::MarchingCubesDisplay::setIsoPatch
void setIsoPatch(int)
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::visshape_
visBase::GeomIndexedShape * visshape_
Definition: vismarchingcubessurfacedisplay.h:145
visSurvey::MarchingCubesDisplay::nrAttribs
int nrAttribs() const
visSurvey::MarchingCubesDisplay::enableAttrib
void enableAttrib(int attrib, bool yn)
visSurvey::MarchingCubesDisplay::canShowTexture
bool canShowTexture() const
visSurvey::MarchingCubesDisplay::setColor
void setColor(Color)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
visSurvey::MarchingCubesDisplay::isattribenabled_
bool isattribenabled_
Definition: vismarchingcubessurfacedisplay.h:136
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
visSurvey::MarchingCubesDisplay::materialChangeCB
void materialChangeCB(CallBacker *)
visSurvey::MarchingCubesDisplay::getEMID
EM::ObjectID getEMID() const
Geometry
Definition: arraytesselator.h:21
visBase
Definition: visannot.h:43
visSurvey::MarchingCubesDisplay::getSelSpec
const Attrib::SelSpec * getSelSpec(int attrib, int version=0) const
visSurvey::MarchingCubesDisplay::emsurface_
EM::MarchingCubesSurface * emsurface_
Definition: vismarchingcubessurfacedisplay.h:129
visSurvey::MarchingCubesDisplay::usesTexture
bool usesTexture() const
visSurvey::MarchingCubesDisplay
Definition: vismarchingcubessurfacedisplay.h:32
ColTab::MapperSetup
Setup class for colortable Mapper.
Definition: coltabmapper.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visSurvey::MarchingCubesDisplay::sKeyEarthModelID
static const char * sKeyEarthModelID()
Definition: vismarchingcubessurfacedisplay.h:122
visSurvey::MarchingCubesDisplay::showsTexture
bool showsTexture() const
visSurvey::MarchingCubesDisplay::areIntersectionsDisplayed
bool areIntersectionsDisplayed() const
Definition: vismarchingcubessurfacedisplay.h:162
visSurvey::MarchingCubesDisplay::getColTabSequence
const ColTab::Sequence * getColTabSequence(int) const
visSurvey::MarchingCubesDisplay::mODTextTranslationClass
mODTextTranslationClass(MarchingCubesDisplay)
visSurvey::MarchingCubesDisplay::setColTabSequence
void setColTabSequence(int, const ColTab::Sequence &, TaskRunner *)
visSurvey::SurveyObject
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
visBase::VisualObjectImpl
VisualObjectImpl
Definition: visobject.h:127
visSurvey::MarchingCubesDisplay::updateIntersectionDisplay
void updateIntersectionDisplay()
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visSurvey::MarchingCubesDisplay::usestexture_
bool usestexture_
Definition: vismarchingcubessurfacedisplay.h:134
visSurvey::MarchingCubesDisplay::setSelSpecs
void setSelSpecs(int attrib, const TypeSet< Attrib::SelSpec > &)
visSurvey::SurveyObject::AttribFormat
AttribFormat
Definition: vissurvobj.h:175
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::shape_
Geometry::ExplicitIndexedShape * shape_
Definition: vismarchingcubessurfacedisplay.h:146
visobject.h
visSurvey::MarchingCubesDisplay::sKeyColTabMapper
static const char * sKeyColTabMapper()
Definition: vismarchingcubessurfacedisplay.h:124
visSurvey::MarchingCubesDisplay::getMousePosInfo
void getMousePosInfo(const visBase::EventInfo &, Coord3 &xyzpos, BufferString &val, BufferString &info) const
visSurvey::MarchingCubesDisplay::setDepthAsAttrib
void setDepthAsAttrib(int)
Geometry::ExplicitIndexedShape
Definition: indexedshape.h:240
visSurvey::MarchingCubesDisplay::getAttributeFormat
SurveyObject::AttribFormat getAttributeFormat(int) const
visSurvey::MarchingCubesDisplay::getMousePosInfo
void getMousePosInfo(const visBase::EventInfo &ei, IOPar &iop) const
visSurvey::MarchingCubesDisplay::removeSelection
void removeSelection(const Selector< Coord3 > &, TaskRunner *)
DataPointSet
Set of data points with group selection.
Definition: datapointset.h:48
visSurvey::MarchingCubesDisplay::updateVisFromEM
bool updateVisFromEM(bool onlyshape, TaskRunner *)
ColTab::Sequence
Maps from [0,1] -> Color.
Definition: coltabsequence.h:37
visSurvey::MarchingCubesDisplay::setOnlyAtSectionsDisplay
void setOnlyAtSectionsDisplay(bool yn)
OD::String::str
const char * str() const
Definition: odstring.h:47
visSurvey::MarchingCubesDisplay::sKeyColTabSequence
static const char * sKeyColTabSequence()
Definition: vismarchingcubessurfacedisplay.h:125
visSurvey::MarchingCubesDisplay::canRemoveSelection
bool canRemoveSelection() const
Definition: vismarchingcubessurfacedisplay.h:96
visSurvey::MarchingCubesDisplay::isAttribEnabled
bool isAttribEnabled(int attrib) const
NotifierAccess
Interface class for Notifier. See comments there.
Definition: notify.h:22
visSurvey::MarchingCubesDisplay::getMultiID
MultiID getMultiID() const
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::~PlaneIntersectInfo
~PlaneIntersectInfo()
visSurvey::MarchingCubesDisplay::displayintersections_
bool displayintersections_
Definition: vismarchingcubessurfacedisplay.h:139
visSurvey::MarchingCubesDisplay::setColTabMapperSetup
void setColTabMapperSetup(int, const ColTab::MapperSetup &, TaskRunner *)
visSurvey::MarchingCubesDisplay::intersectiontransform_
const mVisTrans * intersectiontransform_
Definition: vismarchingcubessurfacedisplay.h:157
visBase::EventInfo
Definition: visevent.h:44
EM::ImplicitBody
Implicit representation of a body.
Definition: embody.h:32
visSurvey::MarchingCubesDisplay::displaysurface_
visBase::MarchingCubesSurface * displaysurface_
Definition: vismarchingcubessurfacedisplay.h:128
visSurvey::MarchingCubesDisplay::getDisplayTransformation
const mVisTrans * getDisplayTransformation() const
visBase::GeomIndexedShape
Definition: visgeomindexedshape.h:40
visSurvey::MarchingCubesDisplay::allowMaterialEdit
bool allowMaterialEdit() const
Definition: vismarchingcubessurfacedisplay.h:47
TaskRunner
Class that can execute a task.
Definition: task.h:170
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::PlaneIntersectInfo
PlaneIntersectInfo()
visSurvey::MarchingCubesDisplay::hasSingleColorFallback
bool hasSingleColorFallback() const
Definition: vismarchingcubessurfacedisplay.h:87
visSurvey::MarchingCubesDisplay::validtexture_
bool validtexture_
Definition: vismarchingcubessurfacedisplay.h:135
visSurvey::MarchingCubesDisplay::hasColor
bool hasColor() const
Definition: vismarchingcubessurfacedisplay.h:43
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::planepos_
float planepos_
Definition: vismarchingcubessurfacedisplay.h:150
visSurvey::MarchingCubesDisplay::isInlCrl
bool isInlCrl() const
Definition: vismarchingcubessurfacedisplay.h:41
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::planeorientation_
char planeorientation_
Definition: vismarchingcubessurfacedisplay.h:149
visSurvey::MarchingCubesDisplay::impbody_
EM::ImplicitBody * impbody_
Definition: vismarchingcubessurfacedisplay.h:138
visSurvey::MarchingCubesDisplay::getColor
Color getColor() const
mVisTrans
#define mVisTrans
Definition: visdata.h:28
visSurvey::MarchingCubesDisplay::useTexture
void useTexture(bool yn)
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
vissurvobj.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
visSurvey::MarchingCubesDisplay::canAddAttrib
bool canAddAttrib(int) const
visSurvey::MarchingCubesDisplay::usePar
virtual bool usePar(const IOPar &)
visBase::MarchingCubesSurface
Definition: vismarchingcubessurface.h:32
visSurvey::MarchingCubesDisplay::materialChange
NotifierAccess * materialChange()
visSurvey::MarchingCubesDisplay::setSelSpec
void setSelSpec(int, const Attrib::SelSpec &)
visSurvey::MarchingCubesDisplay::getMCSurface
EM::MarchingCubesSurface * getMCSurface() const
Definition: vismarchingcubessurfacedisplay.h:99
visSurvey::MarchingCubesDisplay::usesColor
bool usesColor() const
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::planeid_
int planeid_
Definition: vismarchingcubessurfacedisplay.h:148
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
visSurvey::MarchingCubesDisplay::cache_
ObjectSet< DataPointSet > cache_
Definition: vismarchingcubessurfacedisplay.h:131
visSurvey::MarchingCubesDisplay::model2displayspacetransform_
visBase::Transformation * model2displayspacetransform_
Definition: vismarchingcubessurfacedisplay.h:156
visSurvey::MarchingCubesDisplay::displayedOnlyAtSections
bool displayedOnlyAtSections() const
visSurvey::MarchingCubesDisplay::canRemoveAttrib
bool canRemoveAttrib() const
visSurvey::MarchingCubesDisplay::sKeyUseTexture
static const char * sKeyUseTexture()
Definition: vismarchingcubessurfacedisplay.h:126
visBase::Transformation
The Transformation is an object that transforms everything following the node.
Definition: vistransform.h:74
visSurvey
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
visSurvey::MarchingCubesDisplay::setEMID
bool setEMID(const EM::ObjectID &, TaskRunner *)
visSurvey::MarchingCubesDisplay::sKeyAttribSelSpec
static const char * sKeyAttribSelSpec()
Definition: vismarchingcubessurfacedisplay.h:123
visSurvey::MarchingCubesDisplay::setVisSurface
bool setVisSurface(visBase::MarchingCubesSurface *)
Creates an EMObject for it.
visSurvey::MarchingCubesDisplay::displayIntersections
void displayIntersections(bool yn)
Definition: vismarchingcubessurfacedisplay.h:160
visSurvey::MarchingCubesDisplay::otherObjectsMoved
void otherObjectsMoved(const ObjectSet< const SurveyObject > &, int whichobj)
visSurvey::MarchingCubesDisplay::PlaneIntersectInfo::computed_
bool computed_
Definition: vismarchingcubessurfacedisplay.h:152
visSurvey::MarchingCubesDisplay::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(visSurvey::SurveyObject, MarchingCubesDisplay, "MarchingCubesDisplay", ::toUiString(sFactoryKeyword()))
visSurvey::MarchingCubesDisplay::intsinfo_
ObjectSet< PlaneIntersectInfo > intsinfo_
Definition: vismarchingcubessurfacedisplay.h:155
visSurvey::MarchingCubesDisplay::~MarchingCubesDisplay
virtual ~MarchingCubesDisplay()
visSurvey::MarchingCubesDisplay::getRandomPos
void getRandomPos(DataPointSet &, TaskRunner *) const
visSurvey::MarchingCubesDisplay::selspec_
Attrib::SelSpec selspec_
Definition: vismarchingcubessurfacedisplay.h:130
Attrib::SelSpec
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visSurvey::MarchingCubesDisplay::updateSingleColor
void updateSingleColor()
EM::MarchingCubesSurface
Marching cubes surface.
Definition: emmarchingcubessurface.h:32
visSurvey::MarchingCubesDisplay::setRandomPosData
void setRandomPosData(int attrib, const DataPointSet *, TaskRunner *)
visSurvey::MarchingCubesDisplay::canSetColTabSequence
bool canSetColTabSequence() const
visSurvey::MarchingCubesDisplay::canHandleColTabSeqTrans
bool canHandleColTabSeqTrans(int) const
visSurvey::MarchingCubesDisplay::getColTabMapperSetup
const ColTab::MapperSetup * getColTabMapperSetup(int, int) const
MarchingCubesSurface
Definition: marchingcubes.h:82
visSurvey::MarchingCubesDisplay::selspecs_
TypeSet< Attrib::SelSpec > selspecs_
Definition: vismarchingcubessurfacedisplay.h:132
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
attribsel.h
visSurvey::MarchingCubesDisplay::fillPar
virtual void fillPar(IOPar &) const
TypeSet< Attrib::SelSpec >

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