15#include <vsg/app/EllipsoidModel.h>
16#include <vsg/io/ReaderWriter.h>
17#include <vsg/nodes/Node.h>
18#include <vsg/state/DescriptorSetLayout.h>
19#include <vsg/state/PipelineLayout.h>
20#include <vsg/state/Sampler.h>
21#include <vsg/utils/ShaderSet.h>
27 class VSG_DECLSPEC TileDatabaseSettings :
public Inherit<Object, TileDatabaseSettings>
30 TileDatabaseSettings();
31 TileDatabaseSettings(
const TileDatabaseSettings& rhs,
const CopyOp& copyop = {});
34 dbox extents = {{-180.0, -90.0, 0.0}, {180.0, 90.0, 1.0}};
37 uint32_t maxLevel = 22;
38 bool originTopLeft =
true;
39 double lodTransitionScreenHeightRatio = 0.25;
41 std::string projection;
45 using ProcessCallback = std::function<ref_ptr<Data>(
ref_ptr<Data>)>;
48 ProcessCallback imageLayerCallback;
51 ProcessCallback detailLayerCallback;
54 ProcessCallback elevationLayerCallback;
55 double elevationScale = 32868.0;
56 double skirtRatio = 0.02;
57 uint32_t maxTileDimension = 1024;
59 uint32_t mipmapLevelsHint = 16;
72 void read(
Input& input)
override;
73 void write(
Output& output)
const override;
79 class VSG_DECLSPEC TileDatabase :
public Inherit<Node, TileDatabase>
83 TileDatabase(
const TileDatabase& rhs,
const CopyOp& copyop = {});
92 template<
class N,
class V>
93 static void t_traverse(N& node, V& visitor)
95 if (node.child) node.child->accept(visitor);
98 void traverse(
Visitor& visitor)
override { t_traverse(*
this, visitor); }
99 void traverse(ConstVisitor& visitor)
const override { t_traverse(*
this, visitor); }
100 void traverse(RecordTraversal& visitor)
const override { t_traverse(*
this, visitor); }
103 void read(Input& input)
override;
104 void write(Output& output)
const override;
106 bool readDatabase(ref_ptr<const Options> options);
108 VSG_type_name(vsg::TileDatabase);
111 extern VSG_DECLSPEC std::string_view find_field(
const std::string& source,
const std::string_view& start_match,
const std::string_view& end_match);
114 extern VSG_DECLSPEC
void replace(std::string& source,
const std::string_view& match,
const std::string_view& replacement);
int compare(const Object &rhs) const override
compare two objects, return -1 if this object is less than rhs, return 0 if it's equal,...
ref_ptr< Object > clone(const CopyOp ©op={}) const override
Definition TileDatabase.h:89
TileDatabaseSettings provides the settings used by vsg::TileDatabase and vsg::tile ReaderWriter to gu...
Definition TileDatabase.h:28
int compare(const Object &rhs) const override
compare two objects, return -1 if this object is less than rhs, return 0 if it's equal,...
bool lighting
hint of whether to use flat shaded shaders or with lighting enabled.
Definition TileDatabase.h:62
ref_ptr< ShaderSet > shaderSet
optional shaderSet to use for setting up shaders, if left null use vsg::createTileShaderSet().
Definition TileDatabase.h:65
ref_ptr< Object > clone(const CopyOp ©op={}) const override
Definition TileDatabase.h:68