OpendTect  6.3
visgeomindexedshape.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: K. Tingdahl
8  Date: September 2007
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "visshape.h"
14 #include "visobject.h"
15 #include "draw.h"
16 
17 namespace Geometry { class IndexedGeometry; }
18 class DataPointSet;
19 
20 namespace visBase
21 {
22 class DrawStyle;
23 class Transformation;
24 class Coordinates;
25 class Normals;
26 class TextureCoords;
27 class ForegroundLifter;
28 class VertexShape;
29 class TextureChannels;
30 
34 {
35 public:
38 
39  void setDisplayTransformation(const mVisTrans*);
40  const mVisTrans* getDisplayTransformation() const;
41 
42  void setSurface(Geometry::IndexedShape*,
43  TaskRunner* = 0);
46 
47  bool touch(bool forall,bool createnew=true,
48  TaskRunner* =0);
49 
50  void setRenderMode(RenderMode);
51 
52  void setLineStyle(const OD::LineStyle&);
55  void enableColTab(bool);
56  bool isColTabEnabled() const;
57  void setColTabMapper(const ColTab::Mapper&);
58  const ColTab::Mapper& getColTabMapper() const;
59  void setColTabSequence(const ColTab::Sequence&);
60  const ColTab::Sequence& getColTabSequence() const;
61 
62  void getAttribPositions(DataPointSet&,
63  mVisTrans* extratrans,
64  TaskRunner*) const;
65  void setAttribData(const DataPointSet&,
66  TaskRunner*);
67 
68  void setMaterial(Material*);
69  void updateMaterialFrom(const Material*);
70 
72  void setGeometryShapeType(GeomShapeType shapetype,
78  void useOsgNormal(bool);
79  void setNormalBindType(VertexShape::BindType);
80  void setColorBindType(VertexShape::BindType);
81  void addNodeState(visBase::NodeState*);
82 
83  void setTextureChannels(TextureChannels*);
84  virtual void setPixelDensity(float);
85 
86  VertexShape* getVertexShape() const { return vtexshape_; }
87 
88 protected:
89 
91  void mapAttributeToColorTableMaterial();
92  void matChangeCB(CallBacker*);
93  void mappingChgCB(CallBacker*);
94  void updateGeometryMaterial();
95  void updateColors();
96 
98  {
99  public:
100 
101  ColorHandler();
102 
107 
108  };
109 
110  static const char* sKeyCoordIndex() { return "CoordIndex";}
111 
123 
126 };
127 
128 };
129 
RefMan< Material > coltabmaterial_
Definition: visgeomindexedshape.h:121
RefMan< Material > singlematerial_
Definition: visgeomindexedshape.h:120
#define mExpClass(module)
Definition: commondefs.h:157
Definition: visgeomindexedshape.h:71
Definition: indexedshape.h:180
ColorHandler colorhandler_
Definition: visgeomindexedshape.h:112
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
RenderMode
Base class for all objects that are visual on the scene.
Definition: visobject.h:29
RefMan< visBase::Material > material_
Definition: visgeomindexedshape.h:105
Definition: vistexturechannels.h:46
Set of data points with group selection.
Definition: datapointset.h:47
bool colortableenabled_
Definition: visgeomindexedshape.h:115
Definition: draw.h:119
GeomShapeType
Definition: visgeomindexedshape.h:71
VertexShape * vtexshape_
Definition: visgeomindexedshape.h:114
static const char * sKeyCoordIndex()
Definition: visgeomindexedshape.h:110
Definition: visgeomindexedshape.h:97
TypeSet< float > attributecache_
Definition: visgeomindexedshape.h:106
Definition: visnodestate.h:25
FixedString LineStyle()
Definition: keystrs.h:80
ConstRefMan< ColTab::Mapper > mapper_
Definition: visgeomindexedshape.h:103
BindType
Definition: visshape.h:123
Definition: visgeomindexedshape.h:33
Geometry::IndexedShape * shape_
Definition: visgeomindexedshape.h:113
Class that can execute a task.
Definition: task.h:193
#define mVisTrans
Definition: visdata.h:25
Definition: vispolyline.h:33
OD::LineStyle linestyle_
Definition: visgeomindexedshape.h:124
Definition: vismaterial.h:36
GeomShapeType geomshapetype_
Definition: visgeomindexedshape.h:122
VertexShape * getVertexShape() const
Definition: visgeomindexedshape.h:86
Definition: visannot.h:40
int renderside_
Definition: visgeomindexedshape.h:116
static GeomIndexedShape * create()
Definition: visgeomindexedshape.h:36
Definition: indexedshape.h:31
OpendTect.
Definition: commontypes.h:25
Definition: coltab.h:20
#define mCreateDataObj(clss)
Definition: visdata.h:210
ConstRefMan< ColTab::Sequence > sequence_
Definition: visgeomindexedshape.h:104
Definition: visobject.h:67
Definition: visshape.h:73
Definition: vispolyline.h:61
Definition: arraytesselator.h:19
bool useosgnormal_
Definition: visgeomindexedshape.h:125
PrimitiveType
Definition: indexedshape.h:30

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