Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef PCL_OUTOFCORE_OCTREE_BASE_METADATA_H_
00040 #define PCL_OUTOFCORE_OCTREE_BASE_METADATA_H_
00041
00042 #include <pcl/pcl_macros.h>
00043 #include <pcl/outofcore/boost.h>
00044 #include <pcl/outofcore/cJSON.h>
00045
00046 #include <pcl/common/eigen.h>
00047
00048 #include <pcl/outofcore/metadata.h>
00049
00050
00051 #include <string>
00052
00053 namespace pcl
00054 {
00055 namespace outofcore
00056 {
00097 class PCL_EXPORTS OutofcoreOctreeBaseMetadata : public OutofcoreAbstractMetadata
00098 {
00099 public:
00101 OutofcoreOctreeBaseMetadata ();
00106 OutofcoreOctreeBaseMetadata (const boost::filesystem::path& path_arg);
00108 ~OutofcoreOctreeBaseMetadata ();
00109
00111 OutofcoreOctreeBaseMetadata (const OutofcoreOctreeBaseMetadata& orig);
00112
00114 int
00115 getOutofcoreVersion () const;
00117 void
00118 setOutofcoreVersion (const int version);
00119
00121 boost::filesystem::path
00122 getMetadataFilename () const;
00124 void
00125 setMetadataFilename (const boost::filesystem::path& path_to_metadata);
00126
00128 virtual void
00129 serializeMetadataToDisk ();
00130
00132 virtual int
00133 loadMetadataFromDisk ();
00136 virtual int
00137 loadMetadataFromDisk (const boost::filesystem::path& path_to_metadata);
00138
00140 virtual std::string
00141 getOctreeName ();
00143 virtual void
00144 setOctreeName (const std::string& name_arg);
00145
00146 virtual std::string
00147 getPointType ();
00149 virtual void
00150 setPointType (const std::string& point_type_arg);
00151
00152 virtual std::vector<boost::uint64_t>&
00153 getLODPoints ();
00154 virtual std::vector<boost::uint64_t>
00155 getLODPoints () const;
00157 virtual boost::uint64_t
00158 getLODPoints (const boost::uint64_t& depth_index) const;
00159
00161 virtual void
00162 setLODPoints (const boost::uint64_t& depth);
00164 virtual void
00165 setLODPoints (std::vector<boost::uint64_t>& lod_points_arg);
00166
00172 virtual void
00173 setLODPoints (const boost::uint64_t& lod_index_arg, const boost::uint64_t& num_points_arg, const bool increment=true);
00174
00176 virtual void
00177 setCoordinateSystem (const std::string& coordinate_system);
00179 virtual std::string
00180 getCoordinateSystem () const;
00181
00183 virtual void
00184 setDepth (const boost::uint64_t& depth_arg);
00185 virtual boost::uint64_t
00186 getDepth () const;
00187
00189 friend std::ostream&
00190 operator<<(std::ostream& os, const OutofcoreOctreeBaseMetadata& metadata_arg);
00191
00192 protected:
00194 boost::filesystem::path metadata_filename_;
00195
00197 int outofcore_version_;
00198
00200 std::string coordinate_system_;
00201
00203 std::string tree_name_;
00204
00208 std::string point_type_;
00209
00211 boost::uint64_t levels_of_depth_;
00212
00214 std::vector<boost::uint64_t> LOD_num_points_;
00215
00217 virtual void
00218 writeMetadataString (std::vector<char>& buf);
00219 };
00220 }
00221 }
00222
00223 #endif // PCL_OUTOFCORE_OCTREE_BASE_METADATA_H_