21 #ifndef OST_DB_LINEAR_BINARY_CONTAINER_HH
22 #define OST_DB_LINEAR_BINARY_CONTAINER_HH
25 #include <boost/shared_ptr.hpp>
32 namespace ost {
namespace db {
49 void Save(
const std::string& filename)
const;
62 return data_ == other.data_;
67 return !(*
this == other);
89 void Save(
const std::string& filename)
const;
103 return data_ == other.data_;
108 return !(*
this == other);
114 static const uint64_t X_POS_MASK = 9223367638808264704;
115 static const int X_POS_SHIFT = 42;
118 static const uint64_t Y_POS_MASK = 4398044413952;
119 static const int Y_POS_SHIFT = 21;
122 static const uint64_t Z_POS_MASK = 2097151;
123 static const int Z_POS_SHIFT = 0;
126 static const int CUSTOM_INT_MIN = -1048576;
127 static const int CUSTOM_INT_MAX = 1048576;
Three dimensional vector class, using Real precision.
char GetCharacter(uint64_t idx) const
void Save(const std::string &filename) const
void AddCharacters(const std::string &characters)
LinearCharacterContainer()
void ClearRange(std::pair< uint64_t, uint64_t > range)
void GetCharacters(std::pair< uint64_t, uint64_t > range, String &s) const
bool operator==(const LinearCharacterContainer &other) const
uint64_t GetNumElements() const
bool operator!=(const LinearCharacterContainer &other) const
static LinearCharacterContainerPtr Load(const std::string &filename)
void GetPositions(std::pair< uint64_t, uint64_t > range, geom::Vec3List &positions) const
void AddPositions(const geom::Vec3List &positions)
bool operator!=(const LinearPositionContainer &other) const
void Save(const std::string &filename) const
static LinearPositionContainerPtr Load(const std::string &filename)
LinearPositionContainer()
void ClearRange(std::pair< uint64_t, uint64_t > range)
void GetPosition(uint64_t idx, geom::Vec3 &pos) const
bool operator==(const LinearPositionContainer &other) const
uint64_t GetNumElements() const
boost::shared_ptr< LinearCharacterContainer > LinearCharacterContainerPtr
boost::shared_ptr< LinearPositionContainer > LinearPositionContainerPtr
unsigned __int64 uint64_t