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

#include <DNA.h>

Collaboration diagram for dnac::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()

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

Member Function Documentation

◆ load()

template<class Archive >
void dnac::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 }
bool matches() const
Definition: dna/DNA.h:84
Signature< 3 > eof
Definition: dnacalib/dna/DNA.h:817
Version version
Definition: dnacalib/dna/DNA.h:811
Signature< 3 > signature
Definition: dnacalib/dna/DNA.h:810
bool matches() const
Definition: dnacalib/dna/DNA.h:107

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

◆ save()

template<class Archive >
void dnac::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 dnac::DNA::unloadBehavior ( )
inline

◆ unloadDefinition()

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

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

◆ unloadGeometry()

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

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

Member Data Documentation

◆ behavior

RawBehavior dnac::DNA::behavior

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

◆ definition

RawDefinition dnac::DNA::definition

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

◆ descriptor

RawDescriptor dnac::DNA::descriptor

Referenced by load(), and save().

◆ eof

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

Referenced by load(), and save().

◆ geometry

RawGeometry dnac::DNA::geometry

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

◆ memRes

MemoryResource* dnac::DNA::memRes

◆ sections

SectionLookupTable dnac::DNA::sections

◆ signature

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

Referenced by load(), and save().

◆ version

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

Referenced by load(), and save().


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