DNA Calib 1.1
Project brief
Public Member Functions | Public Attributes | List of all members
dna::DNA Struct Reference

#include <DNA.h>

Collaboration diagram for dna::DNA:
Collaboration graph

Public Member Functions

 DNA (MemoryResource *memRes_)
 
template<class Archive >
void load (Archive &archive)
 
template<class Archive >
void save (Archive &archive)
 
void unloadDefinition ()
 
void unloadBehavior ()
 
void unloadGeometry ()
 

Public Attributes

MemoryResourcememRes
 
Signature< 3 > signature {{'D', 'N', 'A'}}
 
Version version {2, 1}
 
SectionLookupTable sections
 
RawDescriptor descriptor
 
RawDefinition definition
 
RawBehavior behavior
 
RawGeometry geometry
 
Signature< 3 > eof {{'A', 'N', 'D'}}
 

Constructor & Destructor Documentation

◆ DNA()

dna::DNA::DNA ( MemoryResource memRes_)
inlineexplicit
819 :
820 memRes{memRes_},
821 sections{},
829 memRes},
831 }
RawDescriptor descriptor
Definition: dna/DNA.h:813
RawBehavior behavior
Definition: dna/DNA.h:815
RawGeometry geometry
Definition: dna/DNA.h:816
RawDefinition definition
Definition: dna/DNA.h:814
MemoryResource * memRes
Definition: dna/DNA.h:809
SectionLookupTable sections
Definition: dna/DNA.h:812
terse::ArchiveOffset< std::uint32_t > animatedMaps
Definition: dna/DNA.h:120
terse::ArchiveOffset< std::uint32_t > definition
Definition: dna/DNA.h:115
terse::ArchiveOffset< std::uint32_t > controls
Definition: dna/DNA.h:117
terse::ArchiveOffset< std::uint32_t > geometry
Definition: dna/DNA.h:121
terse::ArchiveOffset< std::uint32_t > blendShapeChannels
Definition: dna/DNA.h:119
terse::ArchiveOffset< std::uint32_t > behavior
Definition: dna/DNA.h:116
terse::ArchiveOffset< std::uint32_t > joints
Definition: dna/DNA.h:118
terse::ArchiveOffset< std::uint32_t > descriptor
Definition: dna/DNA.h:114

Member Function Documentation

◆ load()

template<class Archive >
void dna::DNA::load ( Archive &  archive)
inline
834 {
835 archive.label("signature");
836 archive(signature);
837 archive.label("version");
838 archive(version);
839 if (signature.matches() && version.matches()) {
840 archive.label("sections");
841 archive(sections);
842 archive.label("descriptor");
843 archive(descriptor);
844 archive.label("definition");
845 archive(definition);
846 archive.label("behavior");
847 archive(behavior);
848 archive.label("geometry");
849 archive(geometry);
850 archive.label("eof");
851 archive(eof);
852 assert(eof.matches());
853 }
854 }
Signature< 3 > eof
Definition: dna/DNA.h:817
Signature< 3 > signature
Definition: dna/DNA.h:810
Version version
Definition: dna/DNA.h:811
bool matches() const
Definition: dna/DNA.h:84
bool matches() const
Definition: dna/DNA.h:107

References behavior, definition, descriptor, eof, geometry, dna::Signature< Size >::matches(), dna::Version::matches(), sections, signature, and version.

◆ save()

template<class Archive >
void dna::DNA::save ( Archive &  archive)
inline
857 {
858 archive.label("signature");
859 archive(signature);
860 archive.label("version");
861 archive(version);
862 archive.label("sections");
863 archive(sections);
864 archive.label("descriptor");
865 archive(descriptor);
866 archive.label("definition");
867 archive(definition);
868 archive.label("behavior");
869 archive(behavior);
870 archive.label("geometry");
871 archive(geometry);
872 archive.label("eof");
873 archive(eof);
874 }

References behavior, definition, descriptor, eof, geometry, sections, signature, and version.

◆ unloadBehavior()

void dna::DNA::unloadBehavior ( )
inline

◆ unloadDefinition()

void dna::DNA::unloadDefinition ( )
inline
876 {
877 definition = RawDefinition{sections.definition, memRes};
878 }

References dna::SectionLookupTable::definition, definition, memRes, and sections.

◆ unloadGeometry()

void dna::DNA::unloadGeometry ( )
inline
886 {
887 geometry = RawGeometry{sections.geometry, memRes};
888 }

References dna::SectionLookupTable::geometry, geometry, memRes, and sections.

Member Data Documentation

◆ behavior

RawBehavior dna::DNA::behavior

Referenced by load(), save(), and unloadBehavior().

◆ definition

RawDefinition dna::DNA::definition

Referenced by load(), save(), and unloadDefinition().

◆ descriptor

RawDescriptor dna::DNA::descriptor

Referenced by load(), and save().

◆ eof

Signature<3> dna::DNA::eof {{'A', 'N', 'D'}}

Referenced by load(), and save().

◆ geometry

RawGeometry dna::DNA::geometry

Referenced by load(), save(), and unloadGeometry().

◆ memRes

MemoryResource* dna::DNA::memRes

◆ sections

SectionLookupTable dna::DNA::sections

◆ signature

Signature<3> dna::DNA::signature {{'D', 'N', 'A'}}

Referenced by load(), and save().

◆ version

Version dna::DNA::version {2, 1}

Referenced by load(), and save().


The documentation for this struct was generated from the following file: