1 #ifndef visvolumedisplay_h 2 #define visvolumedisplay_h 17 #include "vissurveymod.h" 31 template <
class T>
class Array3D;
33 namespace Attrib {
class SelSpec; }
40 class VolumeRenderScalarField;
41 class OrthogonalSlice;
42 class TextureChannel2RGBA;
67 int addSlice(
int dim);
69 void showVolRen(
bool yn);
70 bool isVolRenShown()
const;
74 bool updateisosurface =
true);
76 void removeChild(
int displayid);
80 int getNrIsoSurfaces();
83 float defaultIsoValue()
const;
100 char seedAboveIsovalue(
103 void setSeedAboveIsovalue(
113 void showManipulator(
bool yn);
114 bool isManipulatorShown()
const;
115 bool isManipulated()
const;
116 bool canResetManipulation()
const;
117 void resetManipulation();
118 void acceptManipulation();
128 void setSelSpecs(
int attrib,
132 int nrAttribs()
const;
133 bool canAddAttrib(
int nrattribstoadd=1)
const;
135 bool canRemoveAttrib()
const;
136 bool removeAttrib(
int attrib);
137 bool swapAttribs(
int attrib0,
int attrib1);
138 void enableAttrib(
int attrib,
bool yn);
139 bool isAttribEnabled(
int attrib)
const;
140 void setAttribTransparency(
int attrib,
unsigned char);
141 unsigned char getAttribTransparency(
int attrib)
const;
154 float getValue(
int attrib,
const Coord3&)
const;
161 bool dragmode=
false);
162 bool setDataVolume(
int attrib,
174 {
return SurveyObject::getMousePosInfo(ei,iop);}
179 void getTreeObjectInfo(
uiString&)
const;
182 int version=0)
const;
183 void setColTabMapperSetup(
int attrib,
186 void setColTabSequence(
int attrib,
188 bool canSetColTabSequence()
const;
192 virtual bool allowsPicks()
const;
196 static bool canUseVolRenShading();
197 void allowShading(
bool yn);
198 bool usesShading()
const;
205 void setRightHandSystem(
bool yn);
211 bool writeVolume(
int attrib,
const char* fnm)
const;
213 void setDisplayTransformation(
const mVisTrans*);
215 bool canEnableTextureInterpolation()
const;
216 bool textureInterpolationEnabled()
const;
217 void enableTextureInterpolation(
bool);
222 {
return "InDepthVolResize"; }
229 bool updateSeedBasedSurface(
int,
TaskRunner* = 0);
231 void updateIsoSurfColor();
235 bool isSelected()
const;
237 void setScene(
Scene*);
238 void updateAttribEnabling();
239 void getObjectInfoText(
uiString& info,
268 void updateDraggerLimits(
bool dragmode=
false);
278 void updateRanges(
bool updateic,
bool updatez);
310 static const char* sKeyVolumeID();
311 static const char* sKeyInline();
312 static const char* sKeyCrossLine();
314 static const char* sKeyVolRen();
315 static const char* sKeyNrSlices();
316 static const char* sKeySlice();
317 static const char* sKeyTexture();
319 static const char* sKeyNrIsoSurfaces();
320 static const char* sKeyIsoValueStart();
321 static const char* sKeyIsoOnStart();
322 static const char* sKeySurfMode();
323 static const char* sKeySeedsMid();
324 static const char* sKeySeedsAboveIsov();
ObjectSet< visBase::OrthogonalSlice > slices_
Definition: visvolumedisplay.h:248
#define mExpClass(module)
Definition: commondefs.h:160
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
void turnOn(int flag)
Overrides the envirnonment variable.
visBase::TextureChannel2RGBA * texchannel2rgba_
Definition: visvolumedisplay.h:244
TrcKeyZSampling csfromsession_
Definition: visvolumedisplay.h:299
bool allowMaterialEdit() const
Definition: visvolumedisplay.h:191
const char * str() const
Definition: odstring.h:48
Definition of a mouse cursor, can be either a predefined shape (from the enum, or a file...
Definition: mousecursor.h:26
Notifier< VolumeDisplay > boxMoving
Definition: visvolumedisplay.h:227
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:53
Slice that cuts orthogonal through a VolumeData.
Definition: visvolorthoslice.h:30
Export_Basic uiString toUiString(ViewStyle)
Maps from [0,1] -> Color.
Definition: coltabsequence.h:37
Definition: visboxdragger.h:31
Interface class for Notifier. See comments there.
Definition: callback.h:161
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
static const char * sKeyVolPlaneKey()
Definition: visvolumedisplay.h:220
bool pickable() const
Definition: visvolumedisplay.h:232
int ID
Each Mgr has its own ID.
Definition: datapack.h:147
static int cCrossLine()
Definition: visvolumedisplay.h:64
ZAxisTransformer * datatransformer_
Definition: visvolumedisplay.h:283
bool selectable() const
Definition: visvolumedisplay.h:234
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
SeisDataPack for 2D and 3D seismic data.
Definition: seisdatapack.h:28
bool canDuplicate() const
Definition: visvolumedisplay.h:193
static int cInLine()
Definition: visvolumedisplay.h:63
Definition: uistring.h:89
bool rightClickable() const
Definition: visvolumedisplay.h:233
static ID SeisID()
Cube/Block (N1xN2xN3) data: 3.
TypeSet< char > sections_
Definition: visvolumedisplay.h:263
static const char * sKeyVolDepthKey()
Definition: visvolumedisplay.h:219
bool keepdraggerinsidetexture_
Definition: visvolumedisplay.h:269
int ID
Definition: datapack.h:38
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
BufferString sliceposition_
Definition: visvolumedisplay.h:297
Definition: vistexturechannel2rgba.h:36
const RegularSeisDataPack * cache_
Definition: visvolumedisplay.h:292
Definition: callback.h:254
Definition: marchingcubes.h:82
visBase::BoxDragger * boxdragger_
Definition: visvolumedisplay.h:242
VisualObjectImpl
Definition: visobject.h:128
Definition: vismarchingcubessurface.h:32
Definition: visvolumedisplay.h:285
ZAxisTransform * datatransform_
Definition: visvolumedisplay.h:282
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
bool isOn(int flag=0xffff)
Class that can execute a task.
Definition: task.h:169
Definition: visvolumedisplay.h:250
Attrib::SelSpec & as_
Definition: visvolumedisplay.h:291
#define mVisTrans
Definition: visdata.h:31
char mode_
Definition: visvolumedisplay.h:257
const char * errMsg() const
Definition: visvolumedisplay.h:209
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Definition: vismaterial.h:37
Database for 3D objects.
Definition: vissurvscene.h:76
bool ismanip_
Definition: visvolumedisplay.h:305
bool canHaveMultipleAttribs() const
Definition: visvolumedisplay.h:131
Setup class for colortable Mapper.
Definition: coltabmapper.h:35
float isovalue_
Definition: visvolumedisplay.h:256
bool hasPosModeManipulator() const
Definition: visvolumedisplay.h:112
TypeSet< Attrib::SelSpec > * selspec_
Definition: visvolumedisplay.h:290
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
ObjectSet< AttribData > attribs_
Definition: visvolumedisplay.h:295
ObjectSet< visBase::MarchingCubesSurface > isosurfaces_
Definition: visvolumedisplay.h:249
A cartesian coordinate in 3D space.
Definition: coord.h:72
TypeSet< IsosurfaceSetting > isosurfsettings_
Definition: visvolumedisplay.h:262
Definition: visannot.h:43
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
BufferString errmsg_
Definition: horizontracker.h:119
BufferString slicename_
Definition: visvolumedisplay.h:298
virtual DataPackMgr::ID getDataPackMgrID() const
Definition: visvolumedisplay.h:169
visBase::EventCatcher * eventcatcher_
Definition: visvolumedisplay.h:302
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
Definition: visevent.h:44
NotifierAccess * getMovementNotifier()
Definition: visvolumedisplay.h:119
AttribFormat
Definition: vissurvobj.h:175
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
TrcKeyZSampling texturecs_
Definition: visvolumedisplay.h:271
bool isInlCrl() const
Definition: visvolumedisplay.h:61
RefMan< const mVisTrans > displaytrans_
Definition: visvolumedisplay.h:308
MultiID seedsid_
Definition: visvolumedisplay.h:259
bool onoffstatus_
Definition: visvolumedisplay.h:306
Definition: visvolrenscalarfield.h:41
static int cTimeSlice()
Definition: visvolumedisplay.h:65
void getMousePosInfo(const visBase::EventInfo &ei, IOPar &iop) const
Definition: visvolumedisplay.h:172
TrcKeyZSampling draggerstartcs_
Definition: visvolumedisplay.h:270
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:153
char seedsaboveisoval_
Definition: visvolumedisplay.h:258
static const char * sKeyInDepthVolResize()
Definition: visvolumedisplay.h:221
bool isinited_
Definition: visvolumedisplay.h:304
visBase::VolumeRenderScalarField * scalarfield_
Definition: visvolumedisplay.h:243
Definition: visevent.h:87
Compound key consisting of ints.
Definition: multiid.h:25
NotifierAccess * getManipulationNotifier()
Definition: visvolumedisplay.h:120
Semblance Attribute.
Definition: attribdataholder.h:25
const MouseCursor * getMouseCursor() const
Definition: visvolumedisplay.h:236
MouseCursor mousecursor_
Definition: visvolumedisplay.h:301
Definition: visvolumedisplay.h:51