API Documentation
Loading...
Searching...
No Matches
GroundSurface.h
Go to the documentation of this file.
1#pragma once
2#include <NDEVR/Model.h>
3#if NDEVR_GROUND_SURFACE
4//#include <NDEVR/GeometrySurfacing.h>
5namespace NDEVR
6{
7 enum class AerialImageMode;
8 enum class ArialFeatureList;
9 class ProgressInfo;
10 struct AerialImageRequest;
11 struct MercatorImage;
12 class DesignSelection;
13 class NDEVR_DESIGN_API GroundSurface : public Model
14 {
15 public:
16 GroundSurface(const Model& model, const void* lock_ptr = nullptr);
17 void setupSurface(const Bounds<2, fltp08>& size, fltp08 elevation);
18#if NDEVR_SURFACING
19 //void setupSurface(GeometrySurfacingParameters& params, const DesignSelection& info);
20#endif
21 void createFlatGeometry();
22 static constexpr const char* TypeName() { return "ground_surface"; }
23 void setupMaterial(AerialImageMode mode, uint04 resolution, const void* lock_ptr, ProgressInfo* progress);
24 void setupMaterialCoordinates();
25 void setupPositionCoordinates(fltp08 grid_spacing, const void* lock_ptr, ProgressInfo* progress);
26 void createLinework(AerialImageMode mode, uint04 resolution, bool apply_elevation, bool auto_surface, const void* lock_ptr, ProgressInfo* progress);
27 bool canCreateLinework() const;
28 uint04 surfaceMaterialResolution() const;
29 uint04 lineworkResolution() const;
30 Model surfaceModel() const;
31 Model lineworkModel() const;
32 AerialImageMode lineworkMode() const;
33 AerialImageMode surfaceImageMode() const;
34 bool appliedLineworkElevation() const;
35 bool hasSurfacedLinework() const;
36 Bounds<2, fltp08> wgs84Bounds() const;
37 AerialImageRequest createImageRequest(AerialImageMode mode, uint04 resolution);
38 static Model FeatureLayer(ArialFeatureList feature, Model& reference);
39 fltp08 gridSpacing() const;
40 protected:
41 void setupElevationCoordinates(Vertex<2, uint04> grid_size, const void* lock_ptr, ProgressInfo* progress);
42 void onLineworkImageFinished(const MercatorImage& generated_image, bool auto_surface, bool apply_elevation, ProgressInfo* progress, uint04 resolution, AerialImageMode mode, const void* lock_ptr);
43 void initialize(const void* lock_ptr);
44 };
45}
46#endif
#define NDEVR_DESIGN_API
Definition DLLInfo.h:77
Definition ACIColor.h:37
AerialImageMode
enum specifying what type of image to fetch. Options for terrain, satellite, or road views
Definition MercatorImageManager.h:17
ArialFeatureList
Definition MercatorImageManager.h:26
void setupMaterial(const TranslatedString &category, Material &mat)
Definition DefaultMaterials.cpp:11
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:181