OpendTect-6_4  6.4
visgeomindexedshape.h
Go to the documentation of this file.
1 #ifndef visgeomindexedshape_h
2 #define visgeomindexedshape_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: September 2007
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "valseries.h"
17 #include "visobject.h"
18 #include "coltabsequence.h"
19 #include "coltabmapper.h"
20 #include "visshape.h"
21 #include "draw.h"
22 
23 namespace Geometry { class IndexedGeometry; }
24 class TaskRunner;
25 class DataPointSet;
26 
27 namespace visBase
28 {
29 class DrawStyle;
30 class Transformation;
31 class Coordinates;
32 class Normals;
33 class TextureCoords;
34 class ForegroundLifter;
35 class VertexShape;
36 class TextureChannels;
37 
41 {
42 public:
45 
46  void setDisplayTransformation(const mVisTrans*);
47  const mVisTrans* getDisplayTransformation() const;
48 
49  void setSurface(Geometry::IndexedShape*,
50  TaskRunner* = 0);
53 
54  bool touch(bool forall,bool createnew=true,
55  TaskRunner* =0);
56 
57  void setRenderMode(RenderMode);
58 
59  void setLineStyle(const OD::LineStyle&);
62  void enableColTab(bool);
63  bool isColTabEnabled() const;
64  void setDataMapper(const ColTab::MapperSetup&,
65  TaskRunner*);
66  const ColTab::MapperSetup* getDataMapper() const;
67  void setDataSequence(const ColTab::Sequence&);
68  const ColTab::Sequence* getDataSequence() const;
69 
70  void getAttribPositions(DataPointSet&,
71  mVisTrans* extratrans,
72  TaskRunner*) const;
73  void setAttribData(const DataPointSet&,
74  TaskRunner*);
75 
76  void setMaterial(Material*);
77  void updateMaterialFrom(const Material*);
78 
80  void setGeometryShapeType(GeomShapeType shapetype,
86  void useOsgNormal(bool);
87  void setNormalBindType(VertexShape::BindType);
88  void setColorBindType(VertexShape::BindType);
89  void addNodeState(visBase::NodeState*);
90 
91  void setTextureChannels(TextureChannels*);
92  virtual void setPixelDensity(float);
93 
94  VertexShape* getVertexShape() const { return vtexshape_; }
95 
96 
97 protected:
99  void reClip();
100  void mapAttributeToColorTableMaterial();
101  void matChangeCB(CallBacker*);
102  void updateGeometryMaterial();
103 
105  {
106  public:
107  ColorHandler();
108  ~ColorHandler();
113  };
114 
115  static const char* sKeyCoordIndex() { return "CoordIndex";}
116 
118 
130 
133 };
134 
135 };
136 
137 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Definition: visgeomindexedshape.h:79
Definition: indexedshape.h:182
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
RenderMode
Base class for all objects that are visual on the scene.
Definition: visobject.h:34
Definition: vistexturechannels.h:50
ColTab::Sequence sequence_
Definition: visgeomindexedshape.h:128
Set of data points with group selection.
Definition: datapointset.h:48
bool colortableenabled_
Definition: visgeomindexedshape.h:121
Maps from [0,1] -> Color.
Definition: coltabsequence.h:37
Definition: draw.h:118
GeomShapeType
Definition: visgeomindexedshape.h:79
VertexShape * vtexshape_
Definition: visgeomindexedshape.h:120
static const char * sKeyCoordIndex()
Definition: visgeomindexedshape.h:115
Definition: visgeomindexedshape.h:104
Maps data values to colortable positions: [0,1].
Definition: coltabmapper.h:84
Material * singlematerial_
Definition: visgeomindexedshape.h:126
Definition: visnodestate.h:27
ColTab::Mapper mapper_
Definition: visgeomindexedshape.h:109
FixedString LineStyle()
Definition: keystrs.h:80
BindType
Definition: visshape.h:135
Definition: visgeomindexedshape.h:40
Geometry::IndexedShape * shape_
Definition: visgeomindexedshape.h:119
Class that can execute a task.
Definition: task.h:169
#define mVisTrans
Definition: visdata.h:31
Definition: vispolyline.h:36
OD::LineStyle linestyle_
Definition: visgeomindexedshape.h:131
Definition: vismaterial.h:37
ArrayValueSeries< float, float > attributecache_
Definition: visgeomindexedshape.h:112
GeomShapeType geomshapetype_
Definition: visgeomindexedshape.h:129
VertexShape * getVertexShape() const
Definition: visgeomindexedshape.h:94
Material * coltabmaterial_
Definition: visgeomindexedshape.h:127
Definition: visannot.h:43
int renderside_
Definition: visgeomindexedshape.h:122
static GeomIndexedShape * create()
Definition: visgeomindexedshape.h:43
Definition: indexedshape.h:34
OpendTect.
Definition: commontypes.h:29
Color Table
Definition: coltab.h:22
visBase::Material * material_
Definition: visgeomindexedshape.h:111
#define mCreateDataObj(clss)
Definition: visdata.h:209
Definition: visobject.h:72
Definition: visshape.h:83
ColorHandler * colorhandler_
Definition: visgeomindexedshape.h:117
Definition: vispolyline.h:64
Definition: arraytesselator.h:21
ColTab::Sequence sequence_
Definition: visgeomindexedshape.h:110
bool useosgnormal_
Definition: visgeomindexedshape.h:132
PrimitiveType
Definition: indexedshape.h:33

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