1 #ifndef vishorizonsectiontile_h 2 #define vishorizonsectiontile_h 27 #if defined(visBase_EXPORTS) || defined(VISBASE_EXPORTS) 28 #include <osg/BoundingBox> 39 class DrawElementsUShort;
44 class HorizonSectionTilePosSetup;
46 class TileResolutionData;
47 class HorizonSectionTileGlue;
56 char getActualResolution()
const;
57 void updateAutoResolution(
const osg::CullStack*);
59 void setPos(
int row,
int col,
const Coord3&);
63 void tesselateResolution(
char,
bool onlyifabsness);
64 void applyTesselation(
char res);
66 void ensureGlueTesselated();
67 void setWireframeColor(
Color& color);
68 void setTexture(
const Coord& origin,
69 const Coord& opposite );
71 void addTileTesselator(
int res );
72 void addTileGlueTesselator();
74 {
return tileresolutiondata_; }
75 void turnOnGlue(
bool);
76 void setLineWidth(
int);
83 void setResolution(
char);
86 bool hasDefinedCoordinates(
int idx)
const;
98 void updatePrimitiveSets();
100 bool getResolutionTextureCoordinates(
102 bool getResolutionPrimitiveSet(
105 bool getResolutionPrimitiveSet(
char res,
109 void dirtyGeometry();
111 void setNrTexCoordLayers(
int nrlayers);
112 void initTexCoordLayers();
125 friend class TileCoordinatesUpdator;
129 void buildOsgGeometries();
130 void setActualResolution(
char);
131 char getAutoResolution(
const osg::CullStack*);
132 double calcGradient(
int row,
int col,
135 void computeNormal(
int nmidx, osg::Vec3&);
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
Definition: vishorizonsection.h:51
Definition: vishorizonsectiontileglue.h:37
const double sinanglexinl_
Definition: vishorizonsectiontile.h:171
ObjectSet< TileResolutionData > & getResolutionData()
Definition: vishorizonsectiontile.h:73
bool wireframedisplayed_
Definition: vishorizonsectiontile.h:146
osg::Vec2f txorigin_
Definition: vishorizonsectiontile.h:165
Definition: vishortilescreatorandupdator.h:35
osg::BoundingBox bbox_
Definition: vishorizonsectiontile.h:143
A cartesian coordinate in 2D space.
Definition: coord.h:25
GeometryType
Definition: vishorizonsectiondef.h:31
Set of pointers to objects.
Definition: commontypes.h:32
osg::Array * normals_
Definition: vishorizonsectiontile.h:168
TypeSet< int > txunits_
Definition: vishorizonsectiontile.h:159
bool resolutionhaschanged_
Definition: vishorizonsectiontile.h:151
std::vector< osg::Array * > txcoords_
Definition: vishorizonsectiontile.h:167
Definition: vishorizontexturehandler.h:33
Definition: vishorizonsectiontile.h:51
ObjectSet< TileResolutionData > tileresolutiondata_
Definition: vishorizonsectiontile.h:161
osg::StateSet * stateset_
Definition: vishorizonsectiontile.h:158
int nrdefinedvertices_
Definition: vishorizonsectiontile.h:149
A cartesian coordinate in 3D space.
Definition: coord.h:72
osg::Array * osgvertices_
Definition: vishorizonsectiontile.h:169
IdxPair used for its row() and col().
Definition: rowcol.h:25
Definition: visannot.h:43
char desiredresolution_
Definition: vishorizonsectiontile.h:148
HorizonTileResolutionTesselator class is an independent usage for tesselating coordinates, normals and primitive set of horizon tiles. it is specifically for exporting horizon to Pdf3D in which the exported horizon has no relation with the existing displayed horizon in coordinates, normals and primitive set. thus we can export horizon into different resolution without influence current displayed horizon in the secne. note: the class doesn't do anything with texture.
Definition: vishorthreadworks.h:44
Is a lock that allows a thread to have exlusive rights to something.
Definition: thread.h:43
const RowCol origin_
Definition: vishorizonsectiontile.h:144
Open Scene Graph.
Definition: visannot.h:29
HorizonSectionTileGlue * bottomtileglue_
Definition: vishorizonsectiontile.h:141
osg::Vec2f txoppsite_
Definition: vishorizonsectiontile.h:166
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:26
osg::Array * getNormals()
Definition: vishorizonsectiontile.h:113
bool needsupdatebbox_
Definition: vishorizonsectiontile.h:152
const HorizonSection & hrsection_
Definition: vishorizonsectiontile.h:145
osg::Array * getOsgVertexArray()
Definition: vishorizonsectiontile.h:114
Definition: vishorthreadworks.h:102
osg::Switch * osgswitchnode_
Definition: vishorizonsectiontile.h:162
char glueneedsretesselation_
0 - updated, 1 - needs update, 2 - dont disp
Definition: vishorizonsectiontile.h:155
Definition: vishorthreadworks.h:114
Definition: vishortileresolutiondata.h:47
Definition: arraytesselator.h:21
HorizonSectionTileGlue * righttileglue_
Definition: vishorizonsectiontile.h:140
int tesselationqueueid_
Definition: vishorizonsectiontile.h:154
Threads::Mutex datalock_
Definition: vishorizonsectiontile.h:163
bool updatenewpoint_
Definition: vishorizonsectiontile.h:164