122 lines
3.3 KiB
Text
122 lines
3.3 KiB
Text
/**
|
|
* PANDA 3D SOFTWARE
|
|
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
*
|
|
* All use of this software is subject to the terms of the revised BSD
|
|
* license. You should have received a copy of this license along
|
|
* with this source code in a file named "LICENSE."
|
|
*
|
|
* @file bamWriter.I
|
|
* @author jason
|
|
* @date 2000-06-08
|
|
*/
|
|
|
|
/**
|
|
* Returns the current target of the BamWriter as set by set_target() or the
|
|
* constructor.
|
|
*/
|
|
INLINE DatagramSink *BamWriter::
|
|
get_target() {
|
|
return _target;
|
|
}
|
|
|
|
/**
|
|
* If a BAM is a file, then the BamWriter should contain the name of the file.
|
|
* This enables the writer to convert pathnames in the BAM to relative to the
|
|
* directory containing the BAM.
|
|
*/
|
|
INLINE const Filename &BamWriter::
|
|
get_filename() const {
|
|
if (_target != nullptr) {
|
|
return _target->get_filename();
|
|
}
|
|
static const Filename empty_filename;
|
|
return empty_filename;
|
|
}
|
|
|
|
/**
|
|
* Returns the major version number of the Bam file currently being written.
|
|
*/
|
|
INLINE int BamWriter::
|
|
get_file_major_ver() const {
|
|
return _file_major;
|
|
}
|
|
|
|
/**
|
|
* Changes the minor .bam version to write. This should be called before
|
|
* init(). Each Panda version has only a fairly narrow range of versions it
|
|
* is able to write; consult the .bam documentation for more information.
|
|
*/
|
|
INLINE void BamWriter::
|
|
set_file_minor_ver(int minor_ver) {
|
|
_file_minor = minor_ver;
|
|
}
|
|
|
|
/**
|
|
* Returns the minor version number of the Bam file currently being written.
|
|
*/
|
|
INLINE int BamWriter::
|
|
get_file_minor_ver() const {
|
|
return _file_minor;
|
|
}
|
|
|
|
/**
|
|
* Returns the endian preference indicated by the Bam file currently being
|
|
* written. This does not imply that every number is stored using the
|
|
* indicated convention, but individual objects may choose to respect this
|
|
* flag when recording data.
|
|
*/
|
|
INLINE BamWriter::BamEndian BamWriter::
|
|
get_file_endian() const {
|
|
return _file_endian;
|
|
}
|
|
|
|
/**
|
|
* Returns true if the file will store all "standard" floats as 64-bit
|
|
* doubles, or false if they are 32-bit floats. This isn't runtime settable;
|
|
* it's based on the compilation flags of the version of Panda that generated
|
|
* this file.
|
|
*/
|
|
INLINE bool BamWriter::
|
|
get_file_stdfloat_double() const {
|
|
return _file_stdfloat_double;
|
|
}
|
|
|
|
/**
|
|
* Returns the BamTextureMode preference indicated by the Bam file currently
|
|
* being written. Texture objects written to this Bam file will be encoded
|
|
* according to the specified mode.
|
|
*/
|
|
INLINE BamWriter::BamTextureMode BamWriter::
|
|
get_file_texture_mode() const {
|
|
return _file_texture_mode;
|
|
}
|
|
|
|
/**
|
|
* Changes the BamTextureMode preference for the Bam file currently being
|
|
* written. Texture objects written to this Bam file will be encoded
|
|
* according to the specified mode.
|
|
*/
|
|
INLINE void BamWriter::
|
|
set_file_texture_mode(BamTextureMode file_texture_mode) {
|
|
_file_texture_mode = file_texture_mode;
|
|
}
|
|
|
|
/**
|
|
* Returns the root node of the part of the scene graph we are currently
|
|
* writing out. This is used for determining what to make NodePaths relative
|
|
* to.
|
|
*/
|
|
INLINE TypedWritable *BamWriter::
|
|
get_root_node() const {
|
|
return _root_node;
|
|
}
|
|
|
|
/**
|
|
* Sets the root node of the part of the scene graph we are currently writing
|
|
* out. NodePaths written to this bam file will be relative to this node.
|
|
*/
|
|
INLINE void BamWriter::
|
|
set_root_node(TypedWritable *root_node) {
|
|
_root_node = root_node;
|
|
}
|