1 /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2008 Robert Osfield
2  *
3  * This library is open source and may be redistributed and/or modified under
4  * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5  * (at your option) any later version.  The full license is in LICENSE file
6  * included with this distribution, and on the openscenegraph.org website.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * OpenSceneGraph Public License for more details.
12 */
13 
14 #ifndef IVE_LAYER
15 #define IVE_LAYER 1
16 
17 #include <osgTerrain/Layer>
18 #include "ReadWrite.h"
19 
20 namespace ive
21 {
22 
23 class LayerHelper
24 {
25     public:
26 
LayerHelper()27         LayerHelper() {}
28 
29         void writeLayer(DataOutputStream* out, osgTerrain::Layer* layer);
30         osgTerrain::Layer* readLayer(DataInputStream* in);
31 
32         void writeLocator(DataOutputStream* out, osgTerrain::Locator* locator);
33         osgTerrain::Locator* readLocator(DataInputStream* in);
34 };
35 
36 class Layer : public osgTerrain::Layer
37 {
38     public:
39     void write(DataOutputStream* out);
40     void read(DataInputStream* in);
41 
42     void writeValidDataOperator(DataOutputStream* out, osgTerrain::ValidDataOperator* validDataOperator);
43     osgTerrain::ValidDataOperator* readValidDataOperator(DataInputStream* in);
44 };
45 
46 
47 }
48 
49 #endif
50