30 #define WRITE_PTA(Manager, dest, Write_func, array) \ 31 if (!Manager->register_pta(dest, array.p())) \ 33 Write_func(Manager, dest, array); \ 72 INLINE
const Filename &get_filename()
const;
77 INLINE
int get_file_major_ver()
const;
78 INLINE
int get_file_minor_ver()
const;
79 INLINE
void set_file_minor_ver(
int minor_ver);
81 INLINE BamEndian get_file_endian()
const;
82 INLINE
bool get_file_stdfloat_double()
const;
84 INLINE BamTextureMode get_file_texture_mode()
const;
85 INLINE
void set_file_texture_mode(BamTextureMode file_texture_mode);
91 MAKE_PROPERTY(target, get_target, set_target);
92 MAKE_PROPERTY(filename, get_filename);
93 MAKE_PROPERTY(file_endian, get_file_endian);
94 MAKE_PROPERTY(file_stdfloat_double, get_file_stdfloat_double);
95 MAKE_PROPERTY(file_texture_mode, get_file_texture_mode);
96 MAKE_PROPERTY(root_node, get_root_node, set_root_node);
111 bool register_pta(
Datagram &packet,
const void *ptr);
114 static std::string get_obsolete_type_name(
TypeHandle type,
int major,
int minor);
115 static void record_obsolete_type_name(
TypeHandle type, std::string name,
116 int before_major,
int before_minor);
121 void write_object_id(
Datagram &dg,
int object_id);
122 void write_pta_id(
Datagram &dg,
int pta_id);
126 int _file_major, _file_minor;
127 BamEndian _file_endian;
128 bool _file_stdfloat_double;
129 BamTextureMode _file_texture_mode;
149 StoreState(
int object_id) : _object_id(object_id), _refcount(nullptr) {}
151 typedef phash_map<const TypedWritable *, StoreState, pointer_hash> StateMap;
163 BamObjectCode _next_boc;
167 bool _long_object_id;
172 ObjectQueue _object_queue;
177 typedef vector_int FreedObjectIds;
178 FreedObjectIds _freed_object_ids;
182 typedef phash_map<const void *, int, pointer_hash> PTAMap;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Base class for objects that can be written to and read from Bam files.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the trivial, non-threaded implementation of PipelineCyclerBase.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class defines the abstract interface to sending datagrams to any target, whether it be into a fi...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The name of a file, such as a texture file or an Egg file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for all things that want to be reference-counted.
This class records a particular byte sub-range within an existing file on disk.
This is our own Panda specialization on the default STL set.
TypeHandle is the identifier used to differentiate C++ class types.
This is a sequence number that increments monotonically.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.