9 #ifndef GlobeEngine_BundlingObject_h
10 #define GlobeEngine_BundlingObject_h
14 #include "OpenGL_Includes.h"
29 void create(std::shared_ptr<ReferenceSystem> _referenceSystem, vmml::Vector3f _color);
30 void create(std::shared_ptr<BundlingBlueprint> _blueprint, std::shared_ptr<ReferenceSystem> _referenceSystem);
34 void draw(std::shared_ptr<ge::Camera> _cam);
35 void drawPaths(std::shared_ptr<ge::Camera> _cam);
39 int addPolyline(std::shared_ptr<geData::PolyLine> _polyline);
40 void updatePolyline(
int _id, std::shared_ptr<geData::PolyLine> _polyline);
65 shpio::SHPFileExportContainer*
getExportContainer(std::shared_ptr<ReferenceSystem> _referenceSystem);
88 void createGPUBSplineIndices();
89 void setupGeometryBuffersWithGPUBSPlineInformation();
90 void updateSingleScan();
91 void updateInitialScan();
92 void updateBSplines();
93 void updateBSplineGeometry();
94 void refineAfterScan(
int _idx);
96 std::shared_ptr<BundlingBlueprint> blueprint;
99 double segmentDistance;
100 bool fixSegmentDistance;
103 std::shared_ptr<ge::Shader> splineShader;
104 std::vector<geData::DrawablePolyLine*> bsplines;
105 std::vector<geData::DouglasPeuckerDrawablePath*> paths;
107 std::shared_ptr<ge::Shader> gpusplineShader;
108 std::vector<geData::DrawablePolyLine*> gpusplines;
111 GLsizei* lineStripLenght;
113 bool splineSingleRendering;
116 bool splineGeometryUpdateNecessary;
117 bool splineHeightUpdate;
118 bool pathInitialScanningDone;
119 bool pathInitialScanningInProgress;
120 bool updatePathHeights;
122 double lineThickness;
124 bool drawAsMultiLineObject;
127 double animationValue;
128 vmml::Vector3f animationColor;
void enableUpdatePathHeights(bool _in=true)
Definition: BundlingObject.cpp:686
void activateGPUSplineInterpolation(bool _in)
Definition: BundlingObject.cpp:698
shpio::SHPFileExportContainer * getExportContainer(std::shared_ptr< ReferenceSystem > _referenceSystem)
Definition: BundlingObject.cpp:515
void addBSpline(geData::BSplineInterpolationResult *_res)
Definition: BundlingObject.cpp:353
void setSplineSegmentDistanceFixed(bool _in)
Definition: BundlingObject.cpp:637
void clear()
Definition: BundlingObject.cpp:29
void updatePolyline(int _id, std::shared_ptr< geData::PolyLine > _polyline)
Definition: BundlingObject.cpp:138
void setSplinePosition(float _input)
Definition: BundlingObject.cpp:406
void disableUpdatePathHeights()
Definition: BundlingObject.cpp:690
void disableInitialScan()
Definition: BundlingObject.cpp:678
void enableInitialScanProgress()
Definition: BundlingObject.cpp:653
Definition: PolyLine.h:18
void disableInitialScanProgress()
Definition: BundlingObject.cpp:661
void setPolynomDegree(int _value)
Definition: BundlingObject.cpp:632
void setPathsPosition(float _input)
Definition: BundlingObject.cpp:433
Definition: ClusterGrid.h:17
void enableOcclusionQueries(bool _in)
Definition: BundlingObject.cpp:397
BundlingObject()
Definition: BundlingObject.cpp:6
void enableInitialScan()
Definition: BundlingObject.cpp:674
void setSplineShader(std::shared_ptr< ge::Shader > _shader)
Definition: BundlingObject.cpp:505
Definition: DouglasPeuckerDrawablePath.h:69
Definition: BundlingObject.h:22
void setPathsVisible(bool _in)
Definition: BundlingObject.cpp:458
int addPolyline(std::shared_ptr< geData::PolyLine > _polyline)
Definition: BundlingObject.cpp:133
RENDERSTATE
Definition: DrawableComponent.h:28
void setSplinesSegmentsDistance(float _in)
Definition: BundlingObject.cpp:500
void setPathLineThickness(bool _in)
Definition: BundlingObject.cpp:492
void setSplinesVisible(bool _in)
Definition: BundlingObject.cpp:445
bool isInitialScanInProgress()
Definition: BundlingObject.cpp:669
void performAnimationStep()
Definition: BundlingObject.cpp:642
void enableDrawAsMultiLineObject()
Definition: BundlingObject.cpp:703
void setSplineLineThickness(float _in)
Definition: BundlingObject.cpp:466
bool isInitialScanningOn()
Definition: BundlingObject.cpp:682
void drawPaths(std::shared_ptr< ge::Camera > _cam)
Definition: BundlingObject.cpp:178
~BundlingObject()
Definition: BundlingObject.cpp:14
void disableDrawAsMultiLineObject()
Definition: BundlingObject.cpp:708
void setMultipleSplineGeometry(bool _value)
Definition: BundlingObject.cpp:694
void addGPUBSpline(int _idx)
Definition: BundlingObject.cpp:326
void addPath(geData::DouglasPeuckerDrawablePath *_pathLine, vmml::Vector3d _pos, std::shared_ptr< ge::Shader > _shader)
Definition: BundlingObject.cpp:375
void update()
Definition: BundlingObject.cpp:212
void create(std::shared_ptr< ReferenceSystem > _referenceSystem, vmml::Vector3f _color)
Definition: BundlingObject.cpp:62
Definition: LineFeatureObject.h:21
unsigned int getBSplineCount()
Definition: BundlingObject.h:42
void loadData(std::string filename)
Definition: BundlingObject.cpp:77
bool isDrawnAsMultiLineObject()
Definition: BundlingObject.cpp:713
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: BundlingObject.cpp:143
void setGPUSplineShader(std::shared_ptr< ge::Shader > _shader)
Definition: BundlingObject.cpp:510
void drawPathsWithOcclusionQueries(enum ge::DrawableComponent::RENDERSTATE _state, std::shared_ptr< ge::Camera > _cam)
Definition: BundlingObject.cpp:189