OpendTect  6.6
vishortileresolutiondata.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: March 2009
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 // this header file only be used in the classes related to Horzonsection .
16 // don't include it in somewhere else !!!
17 
18 
19 #include "typeset.h"
20 #include "vistransform.h"
21 #include "zaxistransform.h"
22 #include "vishorizonsectiontile.h"
23 
24 #include "thread.h"
25 
26 namespace osg
27 {
28  class Geometry;
29  class Geode;
30  class UserDataContainer;
31  class Array;
32  class StateSet;
33  class DrawElementsUShort;
34 }
35 
36 namespace osgUtil { class CullVisitor; }
37 
38 namespace osgGeo { class LayeredTexture; }
39 
40 namespace visBase
41 {
42  class HorizonSectionTile;
43  class TextureChannels;
44  class Coordinates;
45 
47 {
48 public:
50  char resolution);
52 
53  void setTexture(const unsigned int unit,osg::Array* arr,
54  osg::StateSet* stateset);
56 
57  bool tesselateResolution(bool onlyifabsness);
59  void setWireframeColor(Color& color);
60  void dirtyGeometry();
61  const osg::PrimitiveSet* getPrimitiveSet(GeometryType) const;
62  void setLineWidth(int);
63 
64 protected:
65 
66  friend class HorizonSectionTile;
67  friend class HorizonSectionTileGlue;
68 
70  osg::Switch* osgswitch_;
71  osg::UserDataContainer* geodes_;
72 
73  osg::Array* osgvertices_;
74  const osg::Array* normals_;
75  osg::Array* linecolor_;
76 
77  osg::DrawElementsUShort* trianglesps_;
78  osg::DrawElementsUShort* linesps_;
79  osg::DrawElementsUShort* pointsps_;
80  osg::DrawElementsUShort* wireframesps_;
81 
82  osg::DrawElementsUShort* trianglesosgps_;
83  osg::DrawElementsUShort* linesosgps_;
84  osg::DrawElementsUShort* pointsosgps_;
85  osg::DrawElementsUShort* wireframesosgps_;
86 
88 
95 
96 private:
97 
99  void setPrimitiveSet(unsigned int,
100  osg::DrawElementsUShort*);
101 
102  void tesselateCell(int row, int col);
106  void buildLineGeometry(int idx, int width);
107  void buildTraingleGeometry(int idx);
108  void buildPointGeometry(int idx);
110  bool detectIsolatedLine(int crdidx,char direction);
111  void setGeometryTexture(const unsigned int unit,
112  const osg::Array* arr,
113  osg::StateSet*stateset,
114  int geometrytype);
115  void dirtyGeometry(int type);
116 };
117 
118 } // namespace visBase
119 
visBase::HorizonSectionTileGlue
Definition: vishorizonsectiontileglue.h:37
GeometryType
GeometryType
Definition: vishorizonsectiondef.h:30
visBase::TileResolutionData::trianglesosgps_
osg::DrawElementsUShort * trianglesosgps_
Definition: vishortileresolutiondata.h:82
visBase::TileResolutionData::TileResolutionData
TileResolutionData(const HorizonSectionTile *, char resolution)
visBase::TileResolutionData::pointsps_
osg::DrawElementsUShort * pointsps_
Definition: vishortileresolutiondata.h:79
Threads::Mutex
Is a lock that allows a thread to have exlusive rights to something.
Definition: thread.h:45
Geometry
Definition: arraytesselator.h:21
visBase
Definition: visannot.h:43
zaxistransform.h
direction
TrcKeyZSampling::Dir direction(TrcKeyZSampling::Dir slctype, int dimnr)
Definition: trckeyzsampling.h:141
visBase::TileResolutionData::pointsosgps_
osg::DrawElementsUShort * pointsosgps_
Definition: vishortileresolutiondata.h:84
visBase::TileResolutionData::setLineWidth
void setLineWidth(int)
osg
Open Scene Graph.
Definition: visannot.h:29
visBase::TileResolutionData::resolution_
char resolution_
Definition: vishortileresolutiondata.h:91
typeset.h
visBase::TileResolutionData::linecolor_
osg::Array * linecolor_
Definition: vishortileresolutiondata.h:75
visBase::TileResolutionData::updateprimitiveset_
bool updateprimitiveset_
Definition: vishortileresolutiondata.h:89
visBase::TileResolutionData::enableGeometryTypeDisplay
void enableGeometryTypeDisplay(GeometryType type, bool yn)
visBase::TileResolutionData::wireframesosgps_
osg::DrawElementsUShort * wireframesosgps_
Definition: vishortileresolutiondata.h:85
visBase::TileResolutionData::hideFromDisplay
void hideFromDisplay()
visBase::TileResolutionData::trianglesps_
osg::DrawElementsUShort * trianglesps_
Definition: vishortileresolutiondata.h:77
visBase::TileResolutionData::osgswitch_
osg::Switch * osgswitch_
Definition: vishortileresolutiondata.h:70
visBase::TileResolutionData::setTexture
void setTexture(const unsigned int unit, osg::Array *arr, osg::StateSet *stateset)
visBase::TileResolutionData::dirtyGeometry
void dirtyGeometry()
visBase::TileResolutionData::tesselateResolution
bool tesselateResolution(bool onlyifabsness)
visBase::TileResolutionData::buildLineGeometry
void buildLineGeometry(int idx, int width)
visBase::TileResolutionData::linesps_
osg::DrawElementsUShort * linesps_
Definition: vishortileresolutiondata.h:78
visBase::TileResolutionData::needsretesselation_
char needsretesselation_
Definition: vishortileresolutiondata.h:90
visBase::TileResolutionData::createPrimitiveSets
void createPrimitiveSets()
visBase::TileResolutionData::needsetposition_
bool needsetposition_
Definition: vishortileresolutiondata.h:93
visBase::TileResolutionData::linesosgps_
osg::DrawElementsUShort * linesosgps_
Definition: vishortileresolutiondata.h:83
visBase::TileResolutionData::tesselateCell
void tesselateCell(int row, int col)
vishorizonsectiontile.h
visBase::TileResolutionData::buildPointGeometry
void buildPointGeometry(int idx)
visBase::TileResolutionData::osgvertices_
osg::Array * osgvertices_
Definition: vishortileresolutiondata.h:73
visBase::TileResolutionData::updatePrimitiveSets
void updatePrimitiveSets()
visBase::TileResolutionData::detectIsolatedLine
bool detectIsolatedLine(int crdidx, char direction)
osgUtil
Definition: vishortileresolutiondata.h:36
visBase::TileResolutionData::normals_
const osg::Array * normals_
Definition: vishortileresolutiondata.h:74
visBase::TileResolutionData::nrverticesperside_
int nrverticesperside_
Definition: vishortileresolutiondata.h:92
osgGeo
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:38
visBase::TileResolutionData::~TileResolutionData
~TileResolutionData()
visBase::TileResolutionData::unRefOsgPrimitiveSets
void unRefOsgPrimitiveSets()
visBase::TileResolutionData::setWireframeColor
void setWireframeColor(Color &color)
visBase::TileResolutionData::buildTraingleGeometry
void buildTraingleGeometry(int idx)
visBase::TileResolutionData
Definition: vishortileresolutiondata.h:47
visBase::TileResolutionData::getPrimitiveSet
const osg::PrimitiveSet * getPrimitiveSet(GeometryType) const
visBase::TileResolutionData::dirtyGeometry
void dirtyGeometry(int type)
visBase::TileResolutionData::tesselatemutex_
Threads::Mutex tesselatemutex_
Definition: vishortileresolutiondata.h:87
visBase::TileResolutionData::wireframesps_
osg::DrawElementsUShort * wireframesps_
Definition: vishortileresolutiondata.h:80
visBase::HorizonSectionTile
Definition: vishorizonsectiontile.h:51
thread.h
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visBase::TileResolutionData::setPrimitiveSet
void setPrimitiveSet(unsigned int, osg::DrawElementsUShort *)
visBase::TileResolutionData::geodes_
osg::UserDataContainer * geodes_
Definition: vishortileresolutiondata.h:71
visBase::TileResolutionData::dispgeometrytype_
int dispgeometrytype_
Definition: vishortileresolutiondata.h:94
visBase::TileResolutionData::setGeometryTexture
void setGeometryTexture(const unsigned int unit, const osg::Array *arr, osg::StateSet *stateset, int geometrytype)
visBase::TileResolutionData::refOsgPrimitiveSets
void refOsgPrimitiveSets()
visBase::TileResolutionData::buildOsgGeometres
void buildOsgGeometres()
vistransform.h
visBase::TileResolutionData::sectile_
const HorizonSectionTile * sectile_
Definition: vishortileresolutiondata.h:69

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