DNACalib

class dnac::DNACalibDNAReader : public dna::Reader

Inheritence diagram for dnac::DNACalibDNAReader:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="dnac::ReaderImpl< DNACalibDNAReader >" tooltip="dnac::ReaderImpl< DNACalibDNAReader >"]
    "3" [label="dna::BehaviorReader" tooltip="dna::BehaviorReader"]
    "4" [label="dna::DefinitionReader" tooltip="dna::DefinitionReader"]
    "5" [label="dna::DescriptorReader" tooltip="dna::DescriptorReader"]
    "6" [label="dna::GeometryReader" tooltip="dna::GeometryReader"]
    "2" [label="dna::Reader" tooltip="dna::Reader"]
    "1" [label="dnac::DNACalibDNAReader" tooltip="dnac::DNACalibDNAReader" fillcolor="#BFBFBF"]
    "8" [label="dnac::DNACalibDNAReaderImpl" tooltip="dnac::DNACalibDNAReaderImpl"]
    "7" -> "1" [dir=forward tooltip="public-inheritance"]
    "3" -> "4" [dir=forward tooltip="public-inheritance"]
    "4" -> "5" [dir=forward tooltip="public-inheritance"]
    "6" -> "4" [dir=forward tooltip="public-inheritance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "6" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "8" -> "7" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::DNACalibDNAReader:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dna::BehaviorReader" tooltip="dna::BehaviorReader"]
    "4" [label="dna::DefinitionReader" tooltip="dna::DefinitionReader"]
    "5" [label="dna::DescriptorReader" tooltip="dna::DescriptorReader"]
    "6" [label="dna::GeometryReader" tooltip="dna::GeometryReader"]
    "2" [label="dna::Reader" tooltip="dna::Reader"]
    "1" [label="dnac::DNACalibDNAReader" tooltip="dnac::DNACalibDNAReader" fillcolor="#BFBFBF"]
    "3" -> "4" [dir=forward tooltip="public-inheritance"]
    "4" -> "5" [dir=forward tooltip="public-inheritance"]
    "6" -> "4" [dir=forward tooltip="public-inheritance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "6" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Subclassed by dnac::ReaderImpl< DNACalibDNAReader >

Public Static Functions

static DNACalibDNAReader *create(MemoryResource *memRes = nullptr)
static DNACalibDNAReader *create(const dna::Reader *reader, MemoryResource *memRes = nullptr)
static void destroy(DNACalibDNAReader *instance)

Protected Functions

virtual ~DNACalibDNAReader()
class dnac::Command

Command is an abstract class whose implementations are expected to modify the DNA provided in the run() method in some way.

Subclassed by dnac::CalculateMeshLowerLODsCommand, dnac::ClearBlendShapesCommand, dnac::CommandSequence, dnac::ConditionalCommand< TCommand, TCondition >, dnac::PruneBlendShapeTargetsCommand, dnac::RemoveAnimatedMapCommand, dnac::RemoveBlendShapeCommand, dnac::RemoveJointAnimationCommand, dnac::RemoveJointCommand, dnac::RemoveMeshCommand, dnac::RenameAnimatedMapCommand, dnac::RenameBlendShapeCommand, dnac::RenameJointCommand, dnac::RenameMeshCommand, dnac::RotateCommand, dnac::ScaleCommand, dnac::SetBlendShapeTargetDeltasCommand, dnac::SetLODsCommand, dnac::SetNeutralJointRotationsCommand, dnac::SetNeutralJointTranslationsCommand, dnac::SetSkinWeightsCommand, dnac::SetVertexPositionsCommand, dnac::TranslateCommand

Public Functions

virtual ~Command()
virtual void run(DNACalibDNAReader *output) = 0
class dnac::ClearBlendShapesCommand : public dnac::Command

Inheritence diagram for dnac::ClearBlendShapesCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::ClearBlendShapesCommand" tooltip="dnac::ClearBlendShapesCommand" fillcolor="#BFBFBF"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::ClearBlendShapesCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::ClearBlendShapesCommand::Impl >" tooltip="pma::ScopedPtr< dnac::ClearBlendShapesCommand::Impl >"]
    "1" [label="dnac::ClearBlendShapesCommand" tooltip="dnac::ClearBlendShapesCommand" fillcolor="#BFBFBF"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::ClearBlendShapesCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::ClearBlendShapesCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::ClearBlendShapesCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::ClearBlendShapesCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

ClearBlendShapesCommand is used to clear all blend shapes data from a DNA.

Note

This command clears blend shape target deltas and blend shape animation data. By doing so, it transforms the DNA to be “joints only”.

Public Functions

DNACAPI explicit ClearBlendShapesCommand(MemoryResource *memRes = nullptr)
DNACAPI ~ClearBlendShapesCommand()
ClearBlendShapesCommand(const ClearBlendShapesCommand&) = delete
ClearBlendShapesCommand &operator=(const ClearBlendShapesCommand&) = delete
DNACAPI ClearBlendShapesCommand(ClearBlendShapesCommand&&)
DNACAPI ClearBlendShapesCommand &operator=(ClearBlendShapesCommand&&)
DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::ClearBlendShapesCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "1" [label="dnac::ClearBlendShapesCommand::Impl" tooltip="dnac::ClearBlendShapesCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::ClearBlendShapesCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "1" [label="dnac::ClearBlendShapesCommand::Impl" tooltip="dnac::ClearBlendShapesCommand::Impl" fillcolor="#BFBFBF"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "4" -> "3" [dir=forward tooltip="usage"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>
class dnac::RemoveAnimatedMapCommand : public dnac::Command

Inheritence diagram for dnac::RemoveAnimatedMapCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveAnimatedMapCommand" tooltip="dnac::RemoveAnimatedMapCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveAnimatedMapCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RemoveAnimatedMapCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RemoveAnimatedMapCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveAnimatedMapCommand" tooltip="dnac::RemoveAnimatedMapCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveAnimatedMapCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveAnimatedMapCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RemoveAnimatedMapCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RemoveAnimatedMapCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RemoveAnimatedMapCommand is used to remove animated maps.

Public Functions

DNACAPI explicit RemoveAnimatedMapCommand(MemoryResource *memRes = nullptr)
DNACAPI RemoveAnimatedMapCommand(std::uint16_t animatedMapIndex, MemoryResource *memRes = nullptr)
DNACAPI RemoveAnimatedMapCommand(ConstArrayView<std::uint16_t> animatedMapIndices, MemoryResource *memRes = nullptr)
DNACAPI ~RemoveAnimatedMapCommand()
RemoveAnimatedMapCommand(const RemoveAnimatedMapCommand&) = delete
RemoveAnimatedMapCommand &operator=(const RemoveAnimatedMapCommand&) = delete
DNACAPI RemoveAnimatedMapCommand(RemoveAnimatedMapCommand&&)
DNACAPI RemoveAnimatedMapCommand &operator=(RemoveAnimatedMapCommand&&)
DNACAPI void setAnimatedMapIndex(std::uint16_t animatedMapIndex)

Method for setting the index of the animated map to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set animated map(s) will be removed.

Parameters

animatedMapIndex – The index of the animated map.

DNACAPI void setAnimatedMapIndices(ConstArrayView<std::uint16_t> animatedMapIndices)

Method for setting the indices of animated maps to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set animated map(s) will be removed.

Parameters

animatedMapIndices – The animated map indices.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::RemoveAnimatedMapCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveAnimatedMapCommand::Impl" tooltip="dnac::RemoveAnimatedMapCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveAnimatedMapCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveAnimatedMapCommand::Impl" tooltip="dnac::RemoveAnimatedMapCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setAnimatedMapIndex(std::uint16_t animatedMapIndex_)
inline void setAnimatedMapIndices(ConstArrayView<std::uint16_t> animatedMapIndices_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<std::uint16_t> animatedMapIndices
class dnac::RemoveBlendShapeCommand : public dnac::Command

Inheritence diagram for dnac::RemoveBlendShapeCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveBlendShapeCommand" tooltip="dnac::RemoveBlendShapeCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveBlendShapeCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RemoveBlendShapeCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RemoveBlendShapeCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveBlendShapeCommand" tooltip="dnac::RemoveBlendShapeCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveBlendShapeCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveBlendShapeCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RemoveBlendShapeCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RemoveBlendShapeCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RemoveBlendShapeCommand is used to remove blend shapes.

Public Functions

DNACAPI explicit RemoveBlendShapeCommand(MemoryResource *memRes = nullptr)
DNACAPI RemoveBlendShapeCommand(std::uint16_t blendShapeIndex, MemoryResource *memRes = nullptr)
DNACAPI RemoveBlendShapeCommand(ConstArrayView<std::uint16_t> blendShapeIndices, MemoryResource *memRes = nullptr)
DNACAPI ~RemoveBlendShapeCommand()
RemoveBlendShapeCommand(const RemoveBlendShapeCommand&) = delete
RemoveBlendShapeCommand &operator=(const RemoveBlendShapeCommand&) = delete
DNACAPI RemoveBlendShapeCommand(RemoveBlendShapeCommand&&)
DNACAPI RemoveBlendShapeCommand &operator=(RemoveBlendShapeCommand&&)
DNACAPI void setBlendShapeIndex(std::uint16_t blendShapeIndex)

Method for setting the index of the blend shape to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set blend shape(s) will be removed.

Parameters

blendShapeIndex – The index of the blend shape.

DNACAPI void setBlendShapeIndices(ConstArrayView<std::uint16_t> blendShapeIndices)

Method for setting the indices of blend shapes to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set blend shape(s) will be removed.

Parameters

blendShapeIndices – The blend shape indices.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::RemoveBlendShapeCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveBlendShapeCommand::Impl" tooltip="dnac::RemoveBlendShapeCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveBlendShapeCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveBlendShapeCommand::Impl" tooltip="dnac::RemoveBlendShapeCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setBlendShapeIndex(std::uint16_t blendShapeIndex_)
inline void setBlendShapeIndices(ConstArrayView<std::uint16_t> blendShapeIndices_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<std::uint16_t> blendShapeIndices
class dnac::RemoveMeshCommand : public dnac::Command

Inheritence diagram for dnac::RemoveMeshCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveMeshCommand" tooltip="dnac::RemoveMeshCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveMeshCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RemoveMeshCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RemoveMeshCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveMeshCommand" tooltip="dnac::RemoveMeshCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveMeshCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveMeshCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RemoveMeshCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RemoveMeshCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RemoveMeshCommand is used to remove meshes.

Public Functions

DNACAPI explicit RemoveMeshCommand(MemoryResource *memRes = nullptr)
DNACAPI RemoveMeshCommand(std::uint16_t meshIndex, MemoryResource *memRes = nullptr)
DNACAPI RemoveMeshCommand(ConstArrayView<std::uint16_t> meshIndices, MemoryResource *memRes = nullptr)
DNACAPI ~RemoveMeshCommand()
RemoveMeshCommand(const RemoveMeshCommand&) = delete
RemoveMeshCommand &operator=(const RemoveMeshCommand&) = delete
DNACAPI RemoveMeshCommand(RemoveMeshCommand&&)
DNACAPI RemoveMeshCommand &operator=(RemoveMeshCommand&&)
DNACAPI void setMeshIndex(std::uint16_t meshIndex)

Method for setting the index of the mesh to remove.

Parameters

meshIndex – The index of the mesh.

DNACAPI void setMeshIndices(ConstArrayView<std::uint16_t> meshIndices)

Method for setting the indices of meshes to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set mesh(es) will be removed.

Parameters

meshIndices – The mesh indices.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::RemoveMeshCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveMeshCommand::Impl" tooltip="dnac::RemoveMeshCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveMeshCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveMeshCommand::Impl" tooltip="dnac::RemoveMeshCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setMeshIndex(std::uint16_t meshIndex_)
inline void setMeshIndices(ConstArrayView<std::uint16_t> meshIndices_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<std::uint16_t> meshIndices
class dnac::RenameJointCommand : public dnac::Command

Inheritence diagram for dnac::RenameJointCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameJointCommand" tooltip="dnac::RenameJointCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameJointCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RenameJointCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RenameJointCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameJointCommand" tooltip="dnac::RenameJointCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameJointCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameJointCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RenameJointCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RenameJointCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RenameJointCommand is used to rename a joint.

Public Functions

DNACAPI explicit RenameJointCommand(MemoryResource *memRes = nullptr)
DNACAPI RenameJointCommand(std::uint16_t jointIndex, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI RenameJointCommand(const char *oldName, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI ~RenameJointCommand()
RenameJointCommand(const RenameJointCommand&) = delete
RenameJointCommand &operator=(const RenameJointCommand&) = delete
DNACAPI RenameJointCommand(RenameJointCommand&&)
DNACAPI RenameJointCommand &operator=(RenameJointCommand&&)
DNACAPI void setName(std::uint16_t jointIndex, const char *newName)

Method for setting a new name for joint with given index.

Parameters
  • jointIndex – The index of the joint whose name to change.

  • newName – The new name for the joint.

DNACAPI void setName(const char *oldName, const char *newName)

Method for setting a new name for joint with given name.

Note

The renaming will not happen if there is no joint with given current name.

Parameters
  • oldName – The current name of the joint whose name to change.

  • newName – The new name for the joint.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::RenameResourceCommand<Impl>

Inheritence diagram for dnac::RenameJointCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "6" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameJointCommand::Impl" tooltip="dnac::RenameJointCommand::Impl" fillcolor="#BFBFBF"]
    "5" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "3" -> "4" [dir=forward tooltip="template-instance"]
    "6" -> "4" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "5" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameJointCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "7" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "5" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameJointCommand::Impl" tooltip="dnac::RenameJointCommand::Impl" fillcolor="#BFBFBF"]
    "6" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "4" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="template-instance"]
    "7" -> "4" [dir=forward tooltip="usage"]
    "7" -> "5" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "6" -> "7" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)

Private Types

using Super = RenameResourceCommand<Impl>

Private Functions

inline virtual std::uint16_t getNameCount(const dna::Reader *input) const override
inline virtual StringView getNameByIndex(const dna::Reader *input, std::uint16_t index_) const override
inline virtual void setNameByIndex(dna::Writer *output, std::uint16_t index_, const char *name) override
class dnac::CalculateMeshLowerLODsCommand : public dnac::Command

Inheritence diagram for dnac::CalculateMeshLowerLODsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::CalculateMeshLowerLODsCommand" tooltip="dnac::CalculateMeshLowerLODsCommand" fillcolor="#BFBFBF"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::CalculateMeshLowerLODsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::CalculateMeshLowerLODsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::CalculateMeshLowerLODsCommand::Impl >"]
    "1" [label="dnac::CalculateMeshLowerLODsCommand" tooltip="dnac::CalculateMeshLowerLODsCommand" fillcolor="#BFBFBF"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::CalculateMeshLowerLODsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::CalculateMeshLowerLODsCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::CalculateMeshLowerLODsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::CalculateMeshLowerLODsCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

CalculateMeshLowerLODsCommand is used to recalculate vertex positions for lower LOD meshes of the specified mesh.

Note

The calculation is done based on vertex positions of the specified mesh and vertex texture coordinates of its lower LOD meshes.

Public Functions

DNACAPI explicit CalculateMeshLowerLODsCommand(MemoryResource *memRes = nullptr)
DNACAPI explicit CalculateMeshLowerLODsCommand(std::uint16_t meshIndex, MemoryResource *memRes = nullptr)
DNACAPI ~CalculateMeshLowerLODsCommand()
CalculateMeshLowerLODsCommand(const CalculateMeshLowerLODsCommand&) = delete
CalculateMeshLowerLODsCommand &operator=(const CalculateMeshLowerLODsCommand&) = delete
DNACAPI CalculateMeshLowerLODsCommand(CalculateMeshLowerLODsCommand&&)
DNACAPI CalculateMeshLowerLODsCommand &operator=(CalculateMeshLowerLODsCommand&&)
DNACAPI void setMeshIndex(std::uint16_t meshIndex)

Method for setting the index of the mesh to calculate lower LOD meshes from.

Parameters

meshIndex – The index of the mesh.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::CalculateMeshLowerLODsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "1" [label="dnac::CalculateMeshLowerLODsCommand::Impl" tooltip="dnac::CalculateMeshLowerLODsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::CalculateMeshLowerLODsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "1" [label="dnac::CalculateMeshLowerLODsCommand::Impl" tooltip="dnac::CalculateMeshLowerLODsCommand::Impl" fillcolor="#BFBFBF"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "4" -> "3" [dir=forward tooltip="usage"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setMeshIndex(std::uint16_t meshIndex_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Functions

inline Vector<std::uint16_t> findIndicesOfMeshLowerLODs(DNACalibDNAReaderImpl *output)

Private Members

std::uint16_t meshIndex

Private Static Functions

static inline StringView getMeshName(DNACalibDNAReaderImpl *output, std::uint16_t mi)

Get the Mesh Name without postfix ” _lodX_mesh”.

class dnac::CommandSequence : public dnac::Command

Inheritence diagram for dnac::CommandSequence:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::CommandSequence" tooltip="dnac::CommandSequence" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::CommandSequence:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::CommandSequence::Impl >" tooltip="pma::ScopedPtr< dnac::CommandSequence::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::CommandSequence" tooltip="dnac::CommandSequence" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::CommandSequence::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::CommandSequence::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::CommandSequence::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::CommandSequence::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

CommandSequence is used to run a sequence of commands on the same DNA.

Note

Commands will be run in the order in which they were added to the sequence.

Note

CommandSequence holds pointers to commands, but does not own them.

Public Functions

DNACAPI explicit CommandSequence(MemoryResource *memRes = nullptr)
DNACAPI ~CommandSequence()
CommandSequence(const CommandSequence&) = delete
CommandSequence &operator=(const CommandSequence&) = delete
DNACAPI CommandSequence(CommandSequence&&)
DNACAPI CommandSequence &operator=(CommandSequence&&)
DNACAPI virtual void run(DNACalibDNAReader *output) override
DNACAPI void add(Command *command)

Method for adding a command to a sequence of commands to run.

Parameters

command – The command to add.

DNACAPI void add(ArrayView<Command> commands)

Method for adding multiple commands to a sequence of commands to run.

Parameters

commands – The commands to add.

template<class ...Commands>
inline void add(Commands... commands)
DNACAPI void remove(Command *command)

Method for removing a command from the sequence of commands to run.

Parameters

command – The command to remove.

DNACAPI void remove(ArrayView<Command> commands)

Method for removing an array of commands from the sequence of commands to run.

Parameters

commands – The commands to remove.

template<class ...Commands>
inline void remove(Commands... commands)
DNACAPI bool contains(Command *command) const

Method for checking if the provided command is part of the command sequence.

Parameters

command – The command to check.

DNACAPI std::size_t size() const

Number of commands in command sequence.

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::CommandSequence::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::CommandSequence::Impl" tooltip="dnac::CommandSequence::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::CommandSequence::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::CommandSequence::Impl" tooltip="dnac::CommandSequence::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void run(DNACalibDNAReader *output)
inline void add(Command *command)
inline void remove(Command *command)
inline bool contains(Command *command) const
inline std::size_t size() const

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<Command*> commands
template<class TCommand, class TCondition>
class dnac::ConditionalCommand : public dnac::Command

Inheritence diagram for dnac::ConditionalCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::ConditionalCommand< TCommand, TCondition >" tooltip="dnac::ConditionalCommand< TCommand, TCondition >" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::ConditionalCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::ConditionalCommand< TCommand, TCondition >" tooltip="dnac::ConditionalCommand< TCommand, TCondition >" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

ConditionalCommand is used to run a command if the specified condition is met.

Public Functions

inline ConditionalCommand()
inline ConditionalCommand(CommandType *command_, ConditionType condition_)
~ConditionalCommand() = default
ConditionalCommand(const ConditionalCommand&) = delete
ConditionalCommand &operator=(const ConditionalCommand&) = delete
ConditionalCommand(ConditionalCommand&&) = default
ConditionalCommand &operator=(ConditionalCommand&&) = default
inline void setCommand(Command *command_)

Method for setting the command to run.

Parameters

command_ – The command to run.

inline void setCondition(ConditionType condition_)

Method for setting the condition under which the command should run.

Parameters

condition_ – The condition that should be met.

inline virtual void run(DNACalibDNAReader *output) override

Private Types

using CommandType = TCommand
using ConditionType = TCondition

Private Members

CommandType *command
ConditionType condition
class dnac::PruneBlendShapeTargetsCommand : public dnac::Command

Inheritence diagram for dnac::PruneBlendShapeTargetsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::PruneBlendShapeTargetsCommand" tooltip="dnac::PruneBlendShapeTargetsCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::PruneBlendShapeTargetsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::PruneBlendShapeTargetsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::PruneBlendShapeTargetsCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::PruneBlendShapeTargetsCommand" tooltip="dnac::PruneBlendShapeTargetsCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::PruneBlendShapeTargetsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::PruneBlendShapeTargetsCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::PruneBlendShapeTargetsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::PruneBlendShapeTargetsCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

PruneBlendShapeTargetsCommand is used to prune blend shape target deltas whose absolute magnitude is less than or equal to the specified threshold.

Public Functions

DNACAPI explicit PruneBlendShapeTargetsCommand(MemoryResource *memRes = nullptr)
DNACAPI explicit PruneBlendShapeTargetsCommand(float threshold, MemoryResource *memRes = nullptr)
DNACAPI ~PruneBlendShapeTargetsCommand()
PruneBlendShapeTargetsCommand(const PruneBlendShapeTargetsCommand&) = delete
PruneBlendShapeTargetsCommand &operator=(const PruneBlendShapeTargetsCommand&) = delete
DNACAPI PruneBlendShapeTargetsCommand(PruneBlendShapeTargetsCommand&&)
DNACAPI PruneBlendShapeTargetsCommand &operator=(PruneBlendShapeTargetsCommand&&)
DNACAPI void setThreshold(float threshold)

Method for setting the threshold for pruning blend shape target deltas.

Parameters

threshold – The threshold to use.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::PruneBlendShapeTargetsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::PruneBlendShapeTargetsCommand::Impl" tooltip="dnac::PruneBlendShapeTargetsCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::PruneBlendShapeTargetsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::PruneBlendShapeTargetsCommand::Impl" tooltip="dnac::PruneBlendShapeTargetsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setThreshold(float threshold_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

float threshold
class dnac::RemoveJointAnimationCommand : public dnac::Command

Inheritence diagram for dnac::RemoveJointAnimationCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveJointAnimationCommand" tooltip="dnac::RemoveJointAnimationCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveJointAnimationCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RemoveJointAnimationCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RemoveJointAnimationCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveJointAnimationCommand" tooltip="dnac::RemoveJointAnimationCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveJointAnimationCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveJointAnimationCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RemoveJointAnimationCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RemoveJointAnimationCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RemoveJointAnimationCommand is used to remove joint animation data.

Public Functions

DNACAPI explicit RemoveJointAnimationCommand(MemoryResource *memRes = nullptr)
DNACAPI RemoveJointAnimationCommand(std::uint16_t jointIndex, MemoryResource *memRes = nullptr)
DNACAPI RemoveJointAnimationCommand(ConstArrayView<std::uint16_t> jointIndices, MemoryResource *memRes = nullptr)
DNACAPI ~RemoveJointAnimationCommand()
RemoveJointAnimationCommand(const RemoveJointAnimationCommand&) = delete
RemoveJointAnimationCommand &operator=(const RemoveJointAnimationCommand&) = delete
DNACAPI RemoveJointAnimationCommand(RemoveJointAnimationCommand&&)
DNACAPI RemoveJointAnimationCommand &operator=(RemoveJointAnimationCommand&&)
DNACAPI void setJointIndex(std::uint16_t jointIndex)

Method for setting the index of a joint whose animation data to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set joint animation(s) will be removed.

Parameters

jointIndex – The index of the joint.

DNACAPI void setJointIndices(ConstArrayView<std::uint16_t> jointIndices)

Method for setting the indices of joints whose animation data to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set joint animation(s) will be removed.

Parameters

jointIndices – The joint indices.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::RemoveJointAnimationCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveJointAnimationCommand::Impl" tooltip="dnac::RemoveJointAnimationCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveJointAnimationCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveJointAnimationCommand::Impl" tooltip="dnac::RemoveJointAnimationCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setJointIndex(std::uint16_t jointIndex_)
inline void setJointIndices(ConstArrayView<std::uint16_t> jointIndices_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<std::uint16_t> jointIndices
class dnac::RemoveJointCommand : public dnac::Command

Inheritence diagram for dnac::RemoveJointCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveJointCommand" tooltip="dnac::RemoveJointCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveJointCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RemoveJointCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RemoveJointCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RemoveJointCommand" tooltip="dnac::RemoveJointCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveJointCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RemoveJointCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RemoveJointCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RemoveJointCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RemoveJointCommand is used to remove joints.

Public Functions

DNACAPI explicit RemoveJointCommand(MemoryResource *memRes = nullptr)
DNACAPI RemoveJointCommand(std::uint16_t jointIndex, MemoryResource *memRes = nullptr)
DNACAPI RemoveJointCommand(ConstArrayView<std::uint16_t> jointIndices, MemoryResource *memRes = nullptr)
DNACAPI ~RemoveJointCommand()
RemoveJointCommand(const RemoveJointCommand&) = delete
RemoveJointCommand &operator=(const RemoveJointCommand&) = delete
DNACAPI RemoveJointCommand(RemoveJointCommand&&)
DNACAPI RemoveJointCommand &operator=(RemoveJointCommand&&)
DNACAPI void setJointIndex(std::uint16_t jointIndex)

Method for setting the index of the joint to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set joint(s) will be removed.

Parameters

jointIndex – The index of the joint.

DNACAPI void setJointIndices(ConstArrayView<std::uint16_t> jointIndices)

Method for setting the indices of joints to remove.

Note

Call to either setter overwrites previous setter calls. When running the command, the last set joint(s) will be removed.

Parameters

jointIndices – The joint indices.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::RemoveJointCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveJointCommand::Impl" tooltip="dnac::RemoveJointCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RemoveJointCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RemoveJointCommand::Impl" tooltip="dnac::RemoveJointCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setJointIndex(std::uint16_t jointIndex_)
inline void setJointIndices(ConstArrayView<std::uint16_t> jointIndices_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<std::uint16_t> jointIndices
class dnac::RenameAnimatedMapCommand : public dnac::Command

Inheritence diagram for dnac::RenameAnimatedMapCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameAnimatedMapCommand" tooltip="dnac::RenameAnimatedMapCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameAnimatedMapCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RenameAnimatedMapCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RenameAnimatedMapCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameAnimatedMapCommand" tooltip="dnac::RenameAnimatedMapCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameAnimatedMapCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameAnimatedMapCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RenameAnimatedMapCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RenameAnimatedMapCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RenameAnimatedMapCommand is used to rename an animated map.

Public Functions

DNACAPI explicit RenameAnimatedMapCommand(MemoryResource *memRes = nullptr)
DNACAPI RenameAnimatedMapCommand(std::uint16_t animatedMapIndex, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI RenameAnimatedMapCommand(const char *oldName, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI ~RenameAnimatedMapCommand()
RenameAnimatedMapCommand(const RenameAnimatedMapCommand&) = delete
RenameAnimatedMapCommand &operator=(const RenameAnimatedMapCommand&) = delete
DNACAPI RenameAnimatedMapCommand(RenameAnimatedMapCommand&&)
DNACAPI RenameAnimatedMapCommand &operator=(RenameAnimatedMapCommand&&)
DNACAPI void setName(std::uint16_t animatedMapIndex, const char *newName)

Method for setting a new name for animated map with given index.

Parameters
  • animatedMapIndex – The index of the animated map whose name to change.

  • newName – The new name for the animated map.

DNACAPI void setName(const char *oldName, const char *newName)

Method for setting a new name for animated map with given name.

Note

The renaming will not happen if there is no animated map with given current name.

Parameters
  • oldName – The current name of the animated map whose name to change.

  • newName – The new name for the animated map.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::RenameResourceCommand<Impl>

Inheritence diagram for dnac::RenameAnimatedMapCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "6" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameAnimatedMapCommand::Impl" tooltip="dnac::RenameAnimatedMapCommand::Impl" fillcolor="#BFBFBF"]
    "5" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "3" -> "4" [dir=forward tooltip="template-instance"]
    "6" -> "4" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "5" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameAnimatedMapCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "7" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "5" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameAnimatedMapCommand::Impl" tooltip="dnac::RenameAnimatedMapCommand::Impl" fillcolor="#BFBFBF"]
    "6" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "4" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="template-instance"]
    "7" -> "4" [dir=forward tooltip="usage"]
    "7" -> "5" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "6" -> "7" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)

Private Types

using Super = RenameResourceCommand<Impl>

Private Functions

inline virtual std::uint16_t getNameCount(const dna::Reader *input) const override
inline virtual StringView getNameByIndex(const dna::Reader *input, std::uint16_t index_) const override
inline virtual void setNameByIndex(dna::Writer *output, std::uint16_t index_, const char *name) override
class dnac::RenameBlendShapeCommand : public dnac::Command

Inheritence diagram for dnac::RenameBlendShapeCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameBlendShapeCommand" tooltip="dnac::RenameBlendShapeCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameBlendShapeCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RenameBlendShapeCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RenameBlendShapeCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameBlendShapeCommand" tooltip="dnac::RenameBlendShapeCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameBlendShapeCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameBlendShapeCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RenameBlendShapeCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RenameBlendShapeCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RenameBlendShapeCommand is used to rename a blend shape channel.

Public Functions

DNACAPI explicit RenameBlendShapeCommand(MemoryResource *memRes = nullptr)
DNACAPI RenameBlendShapeCommand(std::uint16_t blendShapeIndex, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI RenameBlendShapeCommand(const char *oldName, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI ~RenameBlendShapeCommand()
RenameBlendShapeCommand(const RenameBlendShapeCommand&) = delete
RenameBlendShapeCommand &operator=(const RenameBlendShapeCommand&) = delete
DNACAPI RenameBlendShapeCommand(RenameBlendShapeCommand&&)
DNACAPI RenameBlendShapeCommand &operator=(RenameBlendShapeCommand&&)
DNACAPI void setName(std::uint16_t blendShapeIndex, const char *newName)

Method for setting a new name for blend shape channel with given index.

Parameters
  • blendShapeIndex – The index of the blend shape channel whose name to change.

  • newName – The new name for the blend shape channel.

DNACAPI void setName(const char *oldName, const char *newName)

Method for setting a new name for blend shape channel with given name.

Note

The renaming will not happen if there is no blend shape channel with given current name.

Parameters
  • oldName – The current name of the blend shape channel whose name to change.

  • newName – The new name for the blend shape channel.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::RenameResourceCommand<Impl>

Inheritence diagram for dnac::RenameBlendShapeCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "6" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameBlendShapeCommand::Impl" tooltip="dnac::RenameBlendShapeCommand::Impl" fillcolor="#BFBFBF"]
    "5" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "3" -> "4" [dir=forward tooltip="template-instance"]
    "6" -> "4" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "5" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameBlendShapeCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "7" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "5" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameBlendShapeCommand::Impl" tooltip="dnac::RenameBlendShapeCommand::Impl" fillcolor="#BFBFBF"]
    "6" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "4" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="template-instance"]
    "7" -> "4" [dir=forward tooltip="usage"]
    "7" -> "5" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "6" -> "7" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)

Private Types

using Super = RenameResourceCommand<Impl>

Private Functions

inline virtual std::uint16_t getNameCount(const dna::Reader *input) const override
inline virtual StringView getNameByIndex(const dna::Reader *input, std::uint16_t index_) const override
inline virtual void setNameByIndex(dna::Writer *output, std::uint16_t index_, const char *name) override
class dnac::RenameMeshCommand : public dnac::Command

Inheritence diagram for dnac::RenameMeshCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameMeshCommand" tooltip="dnac::RenameMeshCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameMeshCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RenameMeshCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RenameMeshCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RenameMeshCommand" tooltip="dnac::RenameMeshCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameMeshCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RenameMeshCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RenameMeshCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RenameMeshCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RenameMeshCommand is used to rename a mesh.

Public Functions

DNACAPI explicit RenameMeshCommand(MemoryResource *memRes = nullptr)
DNACAPI RenameMeshCommand(std::uint16_t meshIndex, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI RenameMeshCommand(const char *oldName, const char *newName, MemoryResource *memRes = nullptr)
DNACAPI ~RenameMeshCommand()
RenameMeshCommand(const RenameMeshCommand&) = delete
RenameMeshCommand &operator=(const RenameMeshCommand&) = delete
DNACAPI RenameMeshCommand(RenameMeshCommand&&)
DNACAPI RenameMeshCommand &operator=(RenameMeshCommand&&)
DNACAPI void setName(std::uint16_t meshIndex, const char *newName)

Method for setting a new name for mesh with given index.

Parameters
  • meshIndex – The index of the mesh whose name to change.

  • newName – The new name for the mesh.

DNACAPI void setName(const char *oldName, const char *newName)

Method for setting a new name for mesh with given name.

Note

The renaming will not happen if there is no mesh with given current name.

Parameters
  • oldName – The current name of the mesh whose name to change.

  • newName – The new name for the mesh.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::RenameResourceCommand<Impl>

Inheritence diagram for dnac::RenameMeshCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "6" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameMeshCommand::Impl" tooltip="dnac::RenameMeshCommand::Impl" fillcolor="#BFBFBF"]
    "5" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "3" -> "4" [dir=forward tooltip="template-instance"]
    "6" -> "4" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "5" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameMeshCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "7" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "2" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "5" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameMeshCommand::Impl" tooltip="dnac::RenameMeshCommand::Impl" fillcolor="#BFBFBF"]
    "6" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "4" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="template-instance"]
    "7" -> "4" [dir=forward tooltip="usage"]
    "7" -> "5" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "6" -> "7" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)

Private Types

using Super = RenameResourceCommand<Impl>

Private Functions

inline virtual std::uint16_t getNameCount(const dna::Reader *input) const override
inline virtual StringView getNameByIndex(const dna::Reader *input, std::uint16_t index_) const override
inline virtual void setNameByIndex(dna::Writer *output, std::uint16_t index_, const char *name) override
class dnac::RotateCommand : public dnac::Command

Inheritence diagram for dnac::RotateCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RotateCommand" tooltip="dnac::RotateCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RotateCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::RotateCommand::Impl >" tooltip="pma::ScopedPtr< dnac::RotateCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::RotateCommand" tooltip="dnac::RotateCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RotateCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::RotateCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::RotateCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::RotateCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

RotateCommand is used to rotate neutral joints and vertex positions around given origin.

Note

Joint rotations are represented in parent space, so it is enough to rotate only root joints, as that rotation will be propagated to the rest of the joints.

Note

If the origin is not set, the assumed origin is (0, 0, 0).

Public Functions

DNACAPI explicit RotateCommand(MemoryResource *memRes = nullptr)
DNACAPI RotateCommand(Vector3 degrees, Vector3 origin, MemoryResource *memRes = nullptr)
DNACAPI ~RotateCommand()
RotateCommand(const RotateCommand&) = delete
RotateCommand &operator=(const RotateCommand&) = delete
DNACAPI RotateCommand(RotateCommand&&)
DNACAPI RotateCommand &operator=(RotateCommand&&)
DNACAPI void setRotation(Vector3 degrees)

Method for setting the rotation angles.

Parameters

degrees – Rotation angles in degrees.

DNACAPI void setOrigin(Vector3 origin)

Method for setting the rotation origin.

Parameters

origin – Origin coordinates.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::RotateCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RotateCommand::Impl" tooltip="dnac::RotateCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RotateCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "5" [label="dna::Vector3" tooltip="dna::Vector3"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RotateCommand::Impl" tooltip="dnac::RotateCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setRotation(Vector3 degrees_)
inline void setOrigin(Vector3 origin_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Functions

inline tdm::mat4<float> getRotationTransformationMatrix() const
inline void rotateNeutralJoints(DNACalibDNAReaderImpl *output)
inline void rotateVertexPositions(DNACalibDNAReaderImpl *output)
inline void rotateBlendShapeTargetDeltas(DNACalibDNAReaderImpl *output)

Private Members

Vector3 degrees
Vector3 origin
class dnac::ScaleCommand : public dnac::Command

Inheritence diagram for dnac::ScaleCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::ScaleCommand" tooltip="dnac::ScaleCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::ScaleCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::ScaleCommand::Impl >" tooltip="pma::ScopedPtr< dnac::ScaleCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::ScaleCommand" tooltip="dnac::ScaleCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::ScaleCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::ScaleCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::ScaleCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::ScaleCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

ScaleCommand is used to scale neutral joints, vertex positions and joint and blendshape deltas by a factor.

Note

Only translation attributes of neutral joints and joint deltas are scaled.

Public Functions

DNACAPI explicit ScaleCommand(MemoryResource *memRes = nullptr)
DNACAPI ScaleCommand(float scale, Vector3 origin, MemoryResource *memRes = nullptr)
DNACAPI ~ScaleCommand()
ScaleCommand(const ScaleCommand&) = delete
ScaleCommand &operator=(const ScaleCommand&) = delete
DNACAPI ScaleCommand(ScaleCommand&&)
DNACAPI ScaleCommand &operator=(ScaleCommand&&)
DNACAPI void setScale(float scale)

Method for setting the scale factor to multiply with.

Parameters

scale – Scale factor.

DNACAPI void setOrigin(Vector3 origin)

Method for setting the origin.

Note

The origin is used to properly scale position values (vertex positions and neutral joint translations).

Parameters

origin – Origin coordinates.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::ScaleCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::ScaleCommand::Impl" tooltip="dnac::ScaleCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::ScaleCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "5" [label="dna::Vector3" tooltip="dna::Vector3"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::ScaleCommand::Impl" tooltip="dnac::ScaleCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setScale(float scale_)
inline void setOrigin(Vector3 origin_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Functions

inline void scaleNeutralJoints(DNACalibDNAReaderImpl *output)
inline void scaleJointBehavior(DNACalibDNAReaderImpl *output)
inline void scaleGeometry(DNACalibDNAReaderImpl *output)
inline void scaleVertexPositions(DNACalibDNAReaderImpl *output, std::uint16_t meshIndex)
inline void scaleBlendShapeTargetDeltas(DNACalibDNAReaderImpl *output, std::uint16_t meshIndex)

Private Members

Vector3 origin
float scale
class dnac::SetBlendShapeTargetDeltasCommand : public dnac::Command

Inheritence diagram for dnac::SetBlendShapeTargetDeltasCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetBlendShapeTargetDeltasCommand" tooltip="dnac::SetBlendShapeTargetDeltasCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetBlendShapeTargetDeltasCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="pma::ScopedPtr< dnac::SetBlendShapeTargetDeltasCommand::Impl >" tooltip="pma::ScopedPtr< dnac::SetBlendShapeTargetDeltasCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetBlendShapeTargetDeltasCommand" tooltip="dnac::SetBlendShapeTargetDeltasCommand" fillcolor="#BFBFBF"]
    "10" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetBlendShapeTargetDeltasCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetBlendShapeTargetDeltasCommand::Impl >"]
    "8" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "3" [label="sc::StatusCode" tooltip="sc::StatusCode"]
    "9" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "5" [label="typename DefaultInstanceDestroyer<dnac::SetBlendShapeTargetDeltasCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::SetBlendShapeTargetDeltasCommand::Impl >::type"]
    "4" -> "5" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "4" -> "6" [dir=forward tooltip="usage"]
    "4" -> "8" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "10" -> "7" [dir=forward tooltip="template-instance"]
    "6" -> "7" [dir=forward tooltip="template-instance"]
    "8" -> "9" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "8" -> "10" [dir=forward tooltip="usage"]
}

SetBlendShapeTargetDeltasCommand is used to change blend shape target deltas.

Public Functions

DNACAPI explicit SetBlendShapeTargetDeltasCommand(MemoryResource *memRes = nullptr)
DNACAPI SetBlendShapeTargetDeltasCommand(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, ConstArrayView<Vector3> deltas, ConstArrayView<std::uint32_t> vertexIndices, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI SetBlendShapeTargetDeltasCommand(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs, ConstArrayView<std::uint32_t> vertexIndices, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI SetBlendShapeTargetDeltasCommand(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, ConstArrayView<Vector3> deltas, ConstArrayView<std::uint32_t> vertexIndices, ConstArrayView<float> masks, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI SetBlendShapeTargetDeltasCommand(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs, ConstArrayView<std::uint32_t> vertexIndices, ConstArrayView<float> masks, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI ~SetBlendShapeTargetDeltasCommand()
SetBlendShapeTargetDeltasCommand(const SetBlendShapeTargetDeltasCommand&) = delete
SetBlendShapeTargetDeltasCommand &operator=(const SetBlendShapeTargetDeltasCommand&) = delete
DNACAPI SetBlendShapeTargetDeltasCommand(SetBlendShapeTargetDeltasCommand&&)
DNACAPI SetBlendShapeTargetDeltasCommand &operator=(SetBlendShapeTargetDeltasCommand&&)
DNACAPI void setMeshIndex(std::uint16_t meshIndex)

Method for setting the index of the mesh whose blend shape target to change.

Parameters

meshIndex – The mesh index.

DNACAPI void setBlendShapeTargetIndex(std::uint16_t blendShapeTargetIndex)

Method for setting the index of the blend shape target to change.

Parameters

blendShapeTargetIndex – The blend shape target index.

DNACAPI void setDeltas(ConstArrayView<Vector3> deltas)

Method for setting the values used to calculate new deltas for blend shape target.

Parameters

deltas – The values used in calculation.

DNACAPI void setDeltas(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)

Method for setting the values used to calculate new deltas for blend shape target.

Parameters
  • xs – The X values for each delta.

  • ys – The Y values for each delta.

  • zs – The Z values for each delta.

DNACAPI void setVertexIndices(ConstArrayView<std::uint32_t> vertexIndices)

Method for setting the vertex indices that correspond to new deltas.

Parameters

vertexIndices – The vertexIndices.

DNACAPI void setMasks(ConstArrayView<float> masks)

Method for setting masks used to calculate new deltas for blend shape target.

Note

If no masks are set, default weight value of 1 is used for each delta.

Parameters

masks – The weights for each delta.

DNACAPI void setOperation(VectorOperation operation)

Method for setting the type of operation used to calculate new deltas for blend shape target.

Interpolate: \(newValue = previousValue * (1 - weight) + setValue * weight\) Add: \(newValue = previousValue + (setValue * weight)\) Subtract: \(newValue = previousValue - (setValue * weight)\) Multiply: \(newValue = previousValue * (setValue * weight)\) setValue is the value from new deltas that were set, and weight is the value from masks array.

Note

Available operations are: Interpolate, Add, Subtract and Multiply. Each delta is calculated based on the provided operation type in the following way:

Parameters

operation – The operation to use.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Public Static Attributes

DNACAPI static const sc::StatusCode VertexIndicesOutOfBoundsError = {3101, "%s"}
DNACAPI static const sc::StatusCode NoVertexIndicesSetError = {3102, "%s"}
DNACAPI static const sc::StatusCode DeltasVertexIndicesCountMismatch = {3103, "%s"}
DNACAPI static const sc::StatusCode DeltasMasksCountMismatch = {3104, "%s"}

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::SetBlendShapeTargetDeltasCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetBlendShapeTargetDeltasCommand::Impl" tooltip="dnac::SetBlendShapeTargetDeltasCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetBlendShapeTargetDeltasCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "7" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "10" [label="T" tooltip="T"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "6" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "1" [label="dnac::SetBlendShapeTargetDeltasCommand::Impl" tooltip="dnac::SetBlendShapeTargetDeltasCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "5" [label="sc::StatusProvider" tooltip="sc::StatusProvider"]
    "9" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "11" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "8" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "11" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "1" -> "6" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "11" -> "8" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="template-instance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setMeshIndex(std::uint16_t meshIndex_)
inline void setBlendShapeTargetIndex(std::uint16_t blendShapeTargetIndex_)
inline void setDeltas(ConstArrayView<Vector3> deltas_)
inline void setDeltas(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
inline void setVertexIndices(ConstArrayView<std::uint32_t> vertexIndices_)
inline void setMasks(ConstArrayView<float> masks_)
inline void setOperation(VectorOperation operation_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Functions

template<typename FOperation, typename FWeightGetter>
inline void computeBlendShapeTargetDeltas(FOperation op, FWeightGetter getWeight, DNACalibDNAReaderImpl *output)

Private Members

RawVector3Vector deltas
Vector<std::uint32_t> vertexIndices
Vector<float> masks
VectorOperation operation
std::uint16_t meshIndex
std::uint16_t blendShapeTargetIndex

Private Static Functions

static inline void densify(RawVector3Vector &bsDeltas, Vector<std::uint32_t> &bsVertexIndices, std::uint32_t vertexCount)
static inline void sparsify(RawVector3Vector &bsDeltas, Vector<std::uint32_t> &bsVertexIndices, float threshold)
class dnac::SetLODsCommand : public dnac::Command

Inheritence diagram for dnac::SetLODsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetLODsCommand" tooltip="dnac::SetLODsCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetLODsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::SetLODsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::SetLODsCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetLODsCommand" tooltip="dnac::SetLODsCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetLODsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetLODsCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::SetLODsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::SetLODsCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

SetLODsCommand is used to specify LODs to use. Joints, blend shapes, animated maps and meshes that are not in specified LODs are removed from the DNA.

Public Functions

DNACAPI explicit SetLODsCommand(MemoryResource *memRes = nullptr)
DNACAPI SetLODsCommand(ConstArrayView<std::uint16_t> lods, MemoryResource *memRes = nullptr)
DNACAPI ~SetLODsCommand()
SetLODsCommand(const SetLODsCommand&) = delete
SetLODsCommand &operator=(const SetLODsCommand&) = delete
DNACAPI SetLODsCommand(SetLODsCommand&&)
DNACAPI SetLODsCommand &operator=(SetLODsCommand&&)
DNACAPI void setLODs(ConstArrayView<std::uint16_t> lods)

Method for setting the LODs to keep.

Parameters

lods – New LODs to be used.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::SetLODsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetLODsCommand::Impl" tooltip="dnac::SetLODsCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetLODsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetLODsCommand::Impl" tooltip="dnac::SetLODsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setLODs(ConstArrayView<std::uint16_t> lods_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<std::uint16_t> lods
class dnac::SetNeutralJointRotationsCommand : public dnac::Command

Inheritence diagram for dnac::SetNeutralJointRotationsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetNeutralJointRotationsCommand" tooltip="dnac::SetNeutralJointRotationsCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetNeutralJointRotationsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::SetNeutralJointRotationsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::SetNeutralJointRotationsCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetNeutralJointRotationsCommand" tooltip="dnac::SetNeutralJointRotationsCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetNeutralJointRotationsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetNeutralJointRotationsCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::SetNeutralJointRotationsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::SetNeutralJointRotationsCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

SetNeutralJointRotationsCommand is used to set new rotation values to neutral joints.

Public Functions

DNACAPI explicit SetNeutralJointRotationsCommand(MemoryResource *memRes = nullptr)
DNACAPI SetNeutralJointRotationsCommand(ConstArrayView<Vector3> rotations, MemoryResource *memRes = nullptr)
DNACAPI SetNeutralJointRotationsCommand(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs, MemoryResource *memRes = nullptr)
DNACAPI ~SetNeutralJointRotationsCommand()
SetNeutralJointRotationsCommand(const SetNeutralJointRotationsCommand&) = delete
SetNeutralJointRotationsCommand &operator=(const SetNeutralJointRotationsCommand&) = delete
DNACAPI SetNeutralJointRotationsCommand(SetNeutralJointRotationsCommand&&)
DNACAPI SetNeutralJointRotationsCommand &operator=(SetNeutralJointRotationsCommand&&)
DNACAPI void setRotations(ConstArrayView<Vector3> rotations)

Method for setting the neutral joint rotations.

Parameters

rotations – Rotation values for each joint.

DNACAPI void setRotations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)

Method for setting the neutral joint rotations.

Parameters
  • xs – The X rotation value for each joint.

  • ys – The Y rotation value for each joint.

  • zs – The Z rotation value for each joint.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::SetNeutralJointRotationsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetNeutralJointRotationsCommand::Impl" tooltip="dnac::SetNeutralJointRotationsCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetNeutralJointRotationsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "6" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "9" [label="T" tooltip="T"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "5" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "1" [label="dnac::SetNeutralJointRotationsCommand::Impl" tooltip="dnac::SetNeutralJointRotationsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "8" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "10" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "7" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "10" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "10" -> "7" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="template-instance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setRotations(ConstArrayView<Vector3> rotations_)
inline void setRotations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

RawVector3Vector rotations
class dnac::SetNeutralJointTranslationsCommand : public dnac::Command

Inheritence diagram for dnac::SetNeutralJointTranslationsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetNeutralJointTranslationsCommand" tooltip="dnac::SetNeutralJointTranslationsCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetNeutralJointTranslationsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::SetNeutralJointTranslationsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::SetNeutralJointTranslationsCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetNeutralJointTranslationsCommand" tooltip="dnac::SetNeutralJointTranslationsCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetNeutralJointTranslationsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetNeutralJointTranslationsCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::SetNeutralJointTranslationsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::SetNeutralJointTranslationsCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

SetNeutralJointTranslationsCommand is used to set new translation values to neutral joints.

Public Functions

DNACAPI explicit SetNeutralJointTranslationsCommand(MemoryResource *memRes = nullptr)
DNACAPI SetNeutralJointTranslationsCommand(ConstArrayView<Vector3> translations, MemoryResource *memRes = nullptr)
DNACAPI SetNeutralJointTranslationsCommand(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs, MemoryResource *memRes = nullptr)
DNACAPI ~SetNeutralJointTranslationsCommand()
SetNeutralJointTranslationsCommand(const SetNeutralJointTranslationsCommand&) = delete
SetNeutralJointTranslationsCommand &operator=(const SetNeutralJointTranslationsCommand&) = delete
DNACAPI SetNeutralJointTranslationsCommand(SetNeutralJointTranslationsCommand&&)
DNACAPI SetNeutralJointTranslationsCommand &operator=(SetNeutralJointTranslationsCommand&&)
DNACAPI void setTranslations(ConstArrayView<Vector3> translations)

Method for setting the neutral joint translations.

Parameters

translations – Translation values for each joint.

DNACAPI void setTranslations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)

Method for setting the neutral joint translations.

Parameters
  • xs – The X translation value for each joint.

  • ys – The Y translation value for each joint.

  • zs – The Z translation value for each joint.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::SetNeutralJointTranslationsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetNeutralJointTranslationsCommand::Impl" tooltip="dnac::SetNeutralJointTranslationsCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetNeutralJointTranslationsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "6" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "9" [label="T" tooltip="T"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "5" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "1" [label="dnac::SetNeutralJointTranslationsCommand::Impl" tooltip="dnac::SetNeutralJointTranslationsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "8" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "10" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "7" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "10" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "10" -> "7" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="template-instance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setTranslations(ConstArrayView<Vector3> translations_)
inline void setTranslations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

RawVector3Vector translations
class dnac::SetSkinWeightsCommand : public dnac::Command

Inheritence diagram for dnac::SetSkinWeightsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetSkinWeightsCommand" tooltip="dnac::SetSkinWeightsCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetSkinWeightsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::SetSkinWeightsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::SetSkinWeightsCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetSkinWeightsCommand" tooltip="dnac::SetSkinWeightsCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetSkinWeightsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetSkinWeightsCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::SetSkinWeightsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::SetSkinWeightsCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

SetSkinWeightsCommand is used to set new skin weights for a vertex in a mesh.

Public Functions

DNACAPI explicit SetSkinWeightsCommand(MemoryResource *memRes = nullptr)
DNACAPI SetSkinWeightsCommand(std::uint16_t meshIndex, std::uint32_t vertexIndex, ConstArrayView<float> weights, ConstArrayView<std::uint16_t> jointIndices, MemoryResource *memRes = nullptr)
DNACAPI ~SetSkinWeightsCommand()
SetSkinWeightsCommand(const SetSkinWeightsCommand&) = delete
SetSkinWeightsCommand &operator=(const SetSkinWeightsCommand&) = delete
DNACAPI SetSkinWeightsCommand(SetSkinWeightsCommand&&)
DNACAPI SetSkinWeightsCommand &operator=(SetSkinWeightsCommand&&)
DNACAPI void setMeshIndex(std::uint16_t meshIndex)

Method for setting the index of the targeted mesh.

Parameters

meshIndex – The mesh index.

DNACAPI void setVertexIndex(std::uint32_t vertexIndex)

Method for setting the index of the vertex to change.

Parameters

vertexIndex – The vertex index.

DNACAPI void setWeights(ConstArrayView<float> weights)

Method for setting the weights with which joints influence the vertex in question.

Parameters

weights – Weights for each joint that has an influence on the vertex.

DNACAPI void setJointIndices(ConstArrayView<std::uint16_t> jointIndices)

Method for setting the joint indices of joints that influence the vertex in question.

Parameters

jointIndices – Joint indices of joints that have an influence on the vertex.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::SetSkinWeightsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetSkinWeightsCommand::Impl" tooltip="dnac::SetSkinWeightsCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetSkinWeightsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetSkinWeightsCommand::Impl" tooltip="dnac::SetSkinWeightsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setMeshIndex(std::uint16_t meshIndex_)
inline void setVertexIndex(std::uint32_t vertexIndex_)
inline void setWeights(ConstArrayView<float> weights_)
inline void setJointIndices(ConstArrayView<std::uint16_t> jointIndices_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Members

Vector<float> weights
Vector<std::uint16_t> jointIndices
std::uint16_t meshIndex
std::uint32_t vertexIndex
class dnac::SetVertexPositionsCommand : public dnac::Command

Inheritence diagram for dnac::SetVertexPositionsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetVertexPositionsCommand" tooltip="dnac::SetVertexPositionsCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetVertexPositionsCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="pma::ScopedPtr< dnac::SetVertexPositionsCommand::Impl >" tooltip="pma::ScopedPtr< dnac::SetVertexPositionsCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::SetVertexPositionsCommand" tooltip="dnac::SetVertexPositionsCommand" fillcolor="#BFBFBF"]
    "10" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetVertexPositionsCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::SetVertexPositionsCommand::Impl >"]
    "8" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "3" [label="sc::StatusCode" tooltip="sc::StatusCode"]
    "9" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "5" [label="typename DefaultInstanceDestroyer<dnac::SetVertexPositionsCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::SetVertexPositionsCommand::Impl >::type"]
    "4" -> "5" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "4" -> "6" [dir=forward tooltip="usage"]
    "4" -> "8" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "10" -> "7" [dir=forward tooltip="template-instance"]
    "6" -> "7" [dir=forward tooltip="template-instance"]
    "8" -> "9" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "8" -> "10" [dir=forward tooltip="usage"]
}

SetVertexPositionsCommand is used to change vertex positions values.

Public Functions

DNACAPI explicit SetVertexPositionsCommand(MemoryResource *memRes = nullptr)
DNACAPI SetVertexPositionsCommand(std::uint16_t meshIndex, ConstArrayView<Vector3> positions, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI SetVertexPositionsCommand(std::uint16_t meshIndex, ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI SetVertexPositionsCommand(std::uint16_t meshIndex, ConstArrayView<Vector3> positions, ConstArrayView<float> masks, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI SetVertexPositionsCommand(std::uint16_t meshIndex, ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs, ConstArrayView<float> masks, VectorOperation operation, MemoryResource *memRes = nullptr)
DNACAPI ~SetVertexPositionsCommand()
SetVertexPositionsCommand(const SetVertexPositionsCommand&) = delete
SetVertexPositionsCommand &operator=(const SetVertexPositionsCommand&) = delete
DNACAPI SetVertexPositionsCommand(SetVertexPositionsCommand&&)
DNACAPI SetVertexPositionsCommand &operator=(SetVertexPositionsCommand&&)
DNACAPI void setMeshIndex(std::uint16_t meshIndex)

Method for setting the index of the mesh to change.

Parameters

meshIndex – The mesh index.

DNACAPI void setPositions(ConstArrayView<Vector3> positions)

Method for setting the vertex positions used to calculate new values.

Parameters

positions – The vertex positions.

DNACAPI void setPositions(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)

Method for setting the vertex positions used to calculate new values.

Parameters
  • xs – The X coordinates for each vertex.

  • ys – The Y coordinates for each vertex.

  • zs – The Z coordinates for each vertex.

DNACAPI void setMasks(ConstArrayView<float> masks)

Method for setting vertex masks used to calculate new vertex position values.

Note

If no masks are set, default weight value of 1 is used for each vertex.

Parameters

masks – The weights for each vertex.

DNACAPI void setOperation(VectorOperation operation)

Method for setting the type of operation used to calculate new vertex position values.

Interpolate: \(newValue = previousValue * (1 - weight) + setValue * weight\) Add: \(newValue = previousValue + (setValue * weight)\) Subtract: \(newValue = previousValue - (setValue * weight)\) Multiply: \(newValue = previousValue * (setValue * weight)\) setValue is the value from new positions that were set, and weight is the value from masks array.

Note

Available operations are: Interpolate, Add, Subtract and Multiply. Each position is calculated based on the provided operation type in the following way:

Parameters

operation – The operation to use.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Public Static Attributes

DNACAPI static const sc::StatusCode PositionsMasksCountMismatch = {3201, "%s"}

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::SetVertexPositionsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::SetVertexPositionsCommand::Impl" tooltip="dnac::SetVertexPositionsCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::SetVertexPositionsCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "7" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "10" [label="T" tooltip="T"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "6" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "1" [label="dnac::SetVertexPositionsCommand::Impl" tooltip="dnac::SetVertexPositionsCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "5" [label="sc::StatusProvider" tooltip="sc::StatusProvider"]
    "9" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "11" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "8" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "11" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "1" -> "6" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "11" -> "8" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="template-instance"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setMeshIndex(std::uint16_t meshIndex_)
inline void setPositions(ConstArrayView<Vector3> positions_)
inline void setPositions(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
inline void setMasks(ConstArrayView<float> masks_)
inline void setOperation(VectorOperation operation_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Functions

template<typename FOperation, typename FWeightGetter>
inline void computeVertexPositions(FOperation op, FWeightGetter getWeight, DNACalibDNAReaderImpl *output)

Private Members

RawVector3Vector positions
Vector<float> masks
VectorOperation operation
std::uint16_t meshIndex

Private Static Attributes

static sc::StatusProvider status = {PositionsMasksCountMismatch}
class dnac::TranslateCommand : public dnac::Command

Inheritence diagram for dnac::TranslateCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::TranslateCommand" tooltip="dnac::TranslateCommand" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::TranslateCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="pma::ScopedPtr< dnac::TranslateCommand::Impl >" tooltip="pma::ScopedPtr< dnac::TranslateCommand::Impl >"]
    "2" [label="dnac::Command" tooltip="dnac::Command"]
    "1" [label="dnac::TranslateCommand" tooltip="dnac::TranslateCommand" fillcolor="#BFBFBF"]
    "9" [label="pma::ScopedPtr< T, TDestroyer >::inspect< T >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< T >"]
    "5" [label="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::TranslateCommand::Impl >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< dnac::TranslateCommand::Impl >"]
    "7" [label="pma::ScopedPtr< T, TDestroyer >" tooltip="pma::ScopedPtr< T, TDestroyer >"]
    "6" [label="pma::ScopedPtr< T, TDestroyer >::inspect< U >" tooltip="pma::ScopedPtr< T, TDestroyer >::inspect< U >"]
    "8" [label="typename DefaultInstanceDestroyer<T>::type" tooltip="typename DefaultInstanceDestroyer<T>::type"]
    "4" [label="typename DefaultInstanceDestroyer<dnac::TranslateCommand::Impl >::type" tooltip="typename DefaultInstanceDestroyer<dnac::TranslateCommand::Impl >::type"]
    "3" -> "4" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="template-instance"]
    "7" -> "8" [dir=forward tooltip="private-inheritance" color="#8B1A1A"]
    "7" -> "9" [dir=forward tooltip="usage"]
}

TranslateCommand is used to translate neutral joints and vertex positions.

Note

Joint translations are represented in parent space, so it is enough to translate only root joints, as that translation will be propagated to the rest of the joints.

Public Functions

DNACAPI explicit TranslateCommand(MemoryResource *memRes = nullptr)
DNACAPI TranslateCommand(Vector3 translation, MemoryResource *memRes = nullptr)
DNACAPI ~TranslateCommand()
TranslateCommand(const TranslateCommand&) = delete
TranslateCommand &operator=(const TranslateCommand&) = delete
DNACAPI TranslateCommand(TranslateCommand&&)
DNACAPI TranslateCommand &operator=(TranslateCommand&&)
DNACAPI void setTranslation(Vector3 translation)

Method for setting the translation vector.

Parameters

translation – The translation vector.

DNACAPI virtual void run(DNACalibDNAReader *output) override

Private Members

ScopedPtr<Impl> pImpl
class Impl : public dnac::CommandImplBase<Impl>

Inheritence diagram for dnac::TranslateCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::TranslateCommand::Impl" tooltip="dnac::TranslateCommand::Impl" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::TranslateCommand::Impl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "5" [label="dna::Vector3" tooltip="dna::Vector3"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::TranslateCommand::Impl" tooltip="dnac::TranslateCommand::Impl" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "5" [dir=forward tooltip="usage"]
}

Public Functions

inline explicit Impl(MemoryResource *memRes_)
inline void setTranslation(Vector3 translation_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

using Super = CommandImplBase<Impl>

Private Functions

inline void translateNeutralJoints(DNACalibDNAReaderImpl *output)
inline void translateVertexPositions(DNACalibDNAReaderImpl *output)

Private Members

Vector3 translation
template<class TCommand>
class dnac::CommandImplBase

Inheritence diagram for dnac::CommandImplBase:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< Impl >" tooltip="dnac::CommandImplBase< Impl >"]
    "26" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "3" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "8" [label="dnac::CalculateMeshLowerLODsCommand::Impl" tooltip="dnac::CalculateMeshLowerLODsCommand::Impl"]
    "9" [label="dnac::ClearBlendShapesCommand::Impl" tooltip="dnac::ClearBlendShapesCommand::Impl"]
    "1" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >" fillcolor="#BFBFBF"]
    "10" [label="dnac::CommandSequence::Impl" tooltip="dnac::CommandSequence::Impl"]
    "11" [label="dnac::PruneBlendShapeTargetsCommand::Impl" tooltip="dnac::PruneBlendShapeTargetsCommand::Impl"]
    "12" [label="dnac::RemoveAnimatedMapCommand::Impl" tooltip="dnac::RemoveAnimatedMapCommand::Impl"]
    "13" [label="dnac::RemoveBlendShapeCommand::Impl" tooltip="dnac::RemoveBlendShapeCommand::Impl"]
    "14" [label="dnac::RemoveJointAnimationCommand::Impl" tooltip="dnac::RemoveJointAnimationCommand::Impl"]
    "15" [label="dnac::RemoveJointCommand::Impl" tooltip="dnac::RemoveJointCommand::Impl"]
    "16" [label="dnac::RemoveMeshCommand::Impl" tooltip="dnac::RemoveMeshCommand::Impl"]
    "4" [label="dnac::RenameAnimatedMapCommand::Impl" tooltip="dnac::RenameAnimatedMapCommand::Impl"]
    "5" [label="dnac::RenameBlendShapeCommand::Impl" tooltip="dnac::RenameBlendShapeCommand::Impl"]
    "6" [label="dnac::RenameJointCommand::Impl" tooltip="dnac::RenameJointCommand::Impl"]
    "7" [label="dnac::RenameMeshCommand::Impl" tooltip="dnac::RenameMeshCommand::Impl"]
    "27" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >"]
    "17" [label="dnac::RotateCommand::Impl" tooltip="dnac::RotateCommand::Impl"]
    "18" [label="dnac::ScaleCommand::Impl" tooltip="dnac::ScaleCommand::Impl"]
    "19" [label="dnac::SetBlendShapeTargetDeltasCommand::Impl" tooltip="dnac::SetBlendShapeTargetDeltasCommand::Impl"]
    "20" [label="dnac::SetLODsCommand::Impl" tooltip="dnac::SetLODsCommand::Impl"]
    "21" [label="dnac::SetNeutralJointRotationsCommand::Impl" tooltip="dnac::SetNeutralJointRotationsCommand::Impl"]
    "22" [label="dnac::SetNeutralJointTranslationsCommand::Impl" tooltip="dnac::SetNeutralJointTranslationsCommand::Impl"]
    "23" [label="dnac::SetSkinWeightsCommand::Impl" tooltip="dnac::SetSkinWeightsCommand::Impl"]
    "24" [label="dnac::SetVertexPositionsCommand::Impl" tooltip="dnac::SetVertexPositionsCommand::Impl"]
    "25" [label="dnac::TranslateCommand::Impl" tooltip="dnac::TranslateCommand::Impl"]
    "2" -> "1" [dir=forward tooltip="template-instance"]
    "26" -> "1" [dir=forward tooltip="template-instance"]
    "3" -> "2" [dir=forward tooltip="public-inheritance"]
    "3" -> "27" [dir=forward tooltip="template-instance"]
    "8" -> "2" [dir=forward tooltip="public-inheritance"]
    "9" -> "2" [dir=forward tooltip="public-inheritance"]
    "10" -> "2" [dir=forward tooltip="public-inheritance"]
    "11" -> "2" [dir=forward tooltip="public-inheritance"]
    "12" -> "2" [dir=forward tooltip="public-inheritance"]
    "13" -> "2" [dir=forward tooltip="public-inheritance"]
    "14" -> "2" [dir=forward tooltip="public-inheritance"]
    "15" -> "2" [dir=forward tooltip="public-inheritance"]
    "16" -> "2" [dir=forward tooltip="public-inheritance"]
    "4" -> "3" [dir=forward tooltip="public-inheritance"]
    "5" -> "3" [dir=forward tooltip="public-inheritance"]
    "6" -> "3" [dir=forward tooltip="public-inheritance"]
    "7" -> "3" [dir=forward tooltip="public-inheritance"]
    "27" -> "26" [dir=forward tooltip="public-inheritance"]
    "17" -> "2" [dir=forward tooltip="public-inheritance"]
    "18" -> "2" [dir=forward tooltip="public-inheritance"]
    "19" -> "2" [dir=forward tooltip="public-inheritance"]
    "20" -> "2" [dir=forward tooltip="public-inheritance"]
    "21" -> "2" [dir=forward tooltip="public-inheritance"]
    "22" -> "2" [dir=forward tooltip="public-inheritance"]
    "23" -> "2" [dir=forward tooltip="public-inheritance"]
    "24" -> "2" [dir=forward tooltip="public-inheritance"]
    "25" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::CommandImplBase:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >" fillcolor="#BFBFBF"]
    "2" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Functions

inline MemoryResource *getMemoryResource()

Public Static Functions

static inline TCommand *create(MemoryResource *memRes)
static inline void destroy(TCommand *instance)

Protected Functions

inline explicit CommandImplBase(MemoryResource *memRes_)

Private Members

MemoryResource *memRes
template<class TDerived>
class dnac::RenameResourceCommand : public dnac::CommandImplBase<TDerived>

Inheritence diagram for dnac::RenameResourceCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "4" [label="dnac::RenameResourceCommand< Impl >" tooltip="dnac::RenameResourceCommand< Impl >"]
    "3" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "5" [label="dnac::RenameAnimatedMapCommand::Impl" tooltip="dnac::RenameAnimatedMapCommand::Impl"]
    "6" [label="dnac::RenameBlendShapeCommand::Impl" tooltip="dnac::RenameBlendShapeCommand::Impl"]
    "7" [label="dnac::RenameJointCommand::Impl" tooltip="dnac::RenameJointCommand::Impl"]
    "8" [label="dnac::RenameMeshCommand::Impl" tooltip="dnac::RenameMeshCommand::Impl"]
    "1" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
    "4" -> "1" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="public-inheritance"]
    "6" -> "4" [dir=forward tooltip="public-inheritance"]
    "7" -> "4" [dir=forward tooltip="public-inheritance"]
    "8" -> "4" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::RenameResourceCommand:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::CommandImplBase< TDerived >" tooltip="dnac::CommandImplBase< TDerived >"]
    "4" [label="dnac::CommandImplBase< TCommand >" tooltip="dnac::CommandImplBase< TCommand >"]
    "1" [label="dnac::RenameResourceCommand< TDerived >" tooltip="dnac::RenameResourceCommand< TDerived >" fillcolor="#BFBFBF"]
    "3" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="template-instance"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Public Functions

inline explicit RenameResourceCommand(MemoryResource *memRes_)
virtual ~RenameResourceCommand() = default
RenameResourceCommand(const RenameResourceCommand&) = default
RenameResourceCommand &operator=(const RenameResourceCommand&) = default
RenameResourceCommand(RenameResourceCommand&&) = default
RenameResourceCommand &operator=(RenameResourceCommand&&) = default
inline void setName(std::uint16_t index_, const char *newName_)
inline void setName(const char *oldName_, const char *newName_)
inline void run(DNACalibDNAReaderImpl *output)

Private Types

enum class Configuration

Values:

enumerator Unconfigured
enumerator SearchAndRename
enumerator RenameByIndex
using Super = CommandImplBase<TDerived>

Private Functions

inline void searchAndRename(DNACalibDNAReaderImpl *output)
inline void rename(DNACalibDNAReaderImpl *output)
virtual std::uint16_t getNameCount(const dna::Reader *input) const = 0
virtual StringView getNameByIndex(const dna::Reader *input, std::uint16_t index_) const = 0
virtual void setNameByIndex(dna::Writer *output, std::uint16_t index_, const char *name) = 0

Private Members

String<char> oldName
String<char> newName
std::uint16_t index
Configuration config
class dnac::BaseImpl

Inheritence diagram for dnac::BaseImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::ReaderImpl< DNACalibDNAReader >" tooltip="dnac::ReaderImpl< DNACalibDNAReader >"]
    "4" [label="dnac::WriterImpl< dna::Writer >" tooltip="dnac::WriterImpl< dna::Writer >"]
    "1" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl" fillcolor="#BFBFBF"]
    "3" [label="dnac::DNACalibDNAReaderImpl" tooltip="dnac::DNACalibDNAReaderImpl"]
    "5" [label="dnac::ReaderImpl< TReaderBase >" tooltip="dnac::ReaderImpl< TReaderBase >"]
    "6" [label="dnac::WriterImpl< TWriterBase >" tooltip="dnac::WriterImpl< TWriterBase >"]
    "2" -> "1" [dir=forward tooltip="public-inheritance"]
    "2" -> "5" [dir=forward tooltip="template-instance"]
    "4" -> "1" [dir=forward tooltip="public-inheritance"]
    "4" -> "6" [dir=forward tooltip="template-instance"]
    "3" -> "2" [dir=forward tooltip="public-inheritance"]
    "3" -> "4" [dir=forward tooltip="public-inheritance"]
    "5" -> "1" [dir=forward tooltip="public-inheritance"]
    "6" -> "1" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::BaseImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="terse::ArchiveOffset< std::uint32_t >" tooltip="terse::ArchiveOffset< std::uint32_t >"]
    "20" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "14" [label="terse::DynArray< std::uint16_t >" tooltip="terse::DynArray< std::uint16_t >"]
    "17" [label="T" tooltip="T"]
    "1" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl" fillcolor="#BFBFBF"]
    "3" [label="dnac::DNA" tooltip="dnac::DNA"]
    "13" [label="dnac::LODMapping" tooltip="dnac::LODMapping"]
    "27" [label="dnac::RawAnimatedMaps" tooltip="dnac::RawAnimatedMaps"]
    "21" [label="dnac::RawBehavior" tooltip="dnac::RawBehavior"]
    "26" [label="dnac::RawBlendShapeChannels" tooltip="dnac::RawBlendShapeChannels"]
    "23" [label="dnac::RawConditionalTable" tooltip="dnac::RawConditionalTable"]
    "22" [label="dnac::RawControls" tooltip="dnac::RawControls"]
    "10" [label="dnac::RawCoordinateSystem" tooltip="dnac::RawCoordinateSystem"]
    "11" [label="dnac::RawDefinition" tooltip="dnac::RawDefinition"]
    "9" [label="dnac::RawDescriptor" tooltip="dnac::RawDescriptor"]
    "28" [label="dnac::RawGeometry" tooltip="dnac::RawGeometry"]
    "25" [label="dnac::RawJoints" tooltip="dnac::RawJoints"]
    "12" [label="dnac::RawLODMapping" tooltip="dnac::RawLODMapping"]
    "24" [label="dnac::RawPSDMatrix" tooltip="dnac::RawPSDMatrix"]
    "19" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "5" [label="dnac::SectionLookupTable" tooltip="dnac::SectionLookupTable"]
    "4" [label="dnac::Version" tooltip="dnac::Version"]
    "2" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "16" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "8" [label="terse::ArchiveOffset< TOffset >" tooltip="terse::ArchiveOffset< TOffset >"]
    "7" [label="terse::ArchiveOffset< TOffset >::Proxy" tooltip="terse::ArchiveOffset< TOffset >::Proxy"]
    "18" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "15" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "8" [dir=forward tooltip="template-instance"]
    "20" -> "15" [dir=forward tooltip="usage"]
    "20" -> "18" [dir=forward tooltip="template-instance"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "18" [dir=forward tooltip="template-instance"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "3" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "9" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "21" [dir=forward tooltip="usage"]
    "3" -> "28" [dir=forward tooltip="usage"]
    "27" -> "14" [dir=forward tooltip="usage"]
    "27" -> "23" [dir=forward tooltip="usage"]
    "21" -> "6" [dir=forward tooltip="usage"]
    "21" -> "22" [dir=forward tooltip="usage"]
    "21" -> "25" [dir=forward tooltip="usage"]
    "21" -> "26" [dir=forward tooltip="usage"]
    "21" -> "27" [dir=forward tooltip="usage"]
    "26" -> "14" [dir=forward tooltip="usage"]
    "23" -> "14" [dir=forward tooltip="usage"]
    "23" -> "20" [dir=forward tooltip="usage"]
    "22" -> "23" [dir=forward tooltip="usage"]
    "22" -> "24" [dir=forward tooltip="usage"]
    "11" -> "6" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "11" -> "14" [dir=forward tooltip="usage"]
    "11" -> "19" [dir=forward tooltip="usage"]
    "9" -> "6" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "28" -> "6" [dir=forward tooltip="usage"]
    "12" -> "13" [dir=forward tooltip="public-inheritance"]
    "24" -> "14" [dir=forward tooltip="usage"]
    "24" -> "20" [dir=forward tooltip="usage"]
    "19" -> "20" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "16" -> "17" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "15" -> "16" [dir=forward tooltip="template-instance"]
}

Subclassed by dnac::ReaderImpl< DNACalibDNAReader >, dnac::WriterImpl< dna::Writer >, dnac::ReaderImpl< TReaderBase >, dnac::WriterImpl< TWriterBase >

Public Functions

inline MemoryResource *getMemoryResource()

Protected Functions

inline explicit BaseImpl(MemoryResource *memRes_)
~BaseImpl() = default
BaseImpl(const BaseImpl&) = delete
BaseImpl &operator=(const BaseImpl&) = delete
BaseImpl(BaseImpl &&rhs) = delete
BaseImpl &operator=(BaseImpl&&) = delete

Protected Attributes

MemoryResource *memRes
DNA dna
class dnac::DNACalibDNAReaderImpl : public dnac::ReaderImpl<DNACalibDNAReader>, public dnac::WriterImpl<dna::Writer>

Inheritence diagram for dnac::DNACalibDNAReaderImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="dnac::ReaderImpl< DNACalibDNAReader >" tooltip="dnac::ReaderImpl< DNACalibDNAReader >"]
    "11" [label="TReaderBase" tooltip="TReaderBase"]
    "19" [label="TWriterBase" tooltip="TWriterBase"]
    "12" [label="dnac::WriterImpl< dna::Writer >" tooltip="dnac::WriterImpl< dna::Writer >"]
    "5" [label="dna::BehaviorReader" tooltip="dna::BehaviorReader"]
    "14" [label="dna::BehaviorWriter" tooltip="dna::BehaviorWriter"]
    "6" [label="dna::DefinitionReader" tooltip="dna::DefinitionReader"]
    "15" [label="dna::DefinitionWriter" tooltip="dna::DefinitionWriter"]
    "7" [label="dna::DescriptorReader" tooltip="dna::DescriptorReader"]
    "16" [label="dna::DescriptorWriter" tooltip="dna::DescriptorWriter"]
    "8" [label="dna::GeometryReader" tooltip="dna::GeometryReader"]
    "17" [label="dna::GeometryWriter" tooltip="dna::GeometryWriter"]
    "4" [label="dna::Reader" tooltip="dna::Reader"]
    "13" [label="dna::Writer" tooltip="dna::Writer"]
    "9" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl"]
    "3" [label="dnac::DNACalibDNAReader" tooltip="dnac::DNACalibDNAReader"]
    "1" [label="dnac::DNACalibDNAReaderImpl" tooltip="dnac::DNACalibDNAReaderImpl" fillcolor="#BFBFBF"]
    "10" [label="dnac::ReaderImpl< TReaderBase >" tooltip="dnac::ReaderImpl< TReaderBase >"]
    "18" [label="dnac::WriterImpl< TWriterBase >" tooltip="dnac::WriterImpl< TWriterBase >"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "9" [dir=forward tooltip="public-inheritance"]
    "2" -> "10" [dir=forward tooltip="template-instance"]
    "12" -> "13" [dir=forward tooltip="public-inheritance"]
    "12" -> "9" [dir=forward tooltip="public-inheritance"]
    "12" -> "18" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
    "14" -> "15" [dir=forward tooltip="public-inheritance"]
    "6" -> "7" [dir=forward tooltip="public-inheritance"]
    "15" -> "16" [dir=forward tooltip="public-inheritance"]
    "8" -> "6" [dir=forward tooltip="public-inheritance"]
    "17" -> "15" [dir=forward tooltip="public-inheritance"]
    "4" -> "5" [dir=forward tooltip="public-inheritance"]
    "4" -> "8" [dir=forward tooltip="public-inheritance"]
    "13" -> "14" [dir=forward tooltip="public-inheritance"]
    "13" -> "17" [dir=forward tooltip="public-inheritance"]
    "3" -> "4" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "12" [dir=forward tooltip="public-inheritance"]
    "10" -> "11" [dir=forward tooltip="public-inheritance"]
    "10" -> "9" [dir=forward tooltip="public-inheritance"]
    "18" -> "19" [dir=forward tooltip="public-inheritance"]
    "18" -> "9" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::DNACalibDNAReaderImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="terse::ArchiveOffset< std::uint32_t >" tooltip="terse::ArchiveOffset< std::uint32_t >"]
    "37" [label="dnac::DenormalizedData< DNACalibDNAReader >" tooltip="dnac::DenormalizedData< DNACalibDNAReader >"]
    "28" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "22" [label="terse::DynArray< std::uint16_t >" tooltip="terse::DynArray< std::uint16_t >"]
    "2" [label="dnac::ReaderImpl< DNACalibDNAReader >" tooltip="dnac::ReaderImpl< DNACalibDNAReader >"]
    "25" [label="T" tooltip="T"]
    "40" [label="TReaderBase" tooltip="TReaderBase"]
    "48" [label="TWriterBase" tooltip="TWriterBase"]
    "41" [label="dnac::WriterImpl< dna::Writer >" tooltip="dnac::WriterImpl< dna::Writer >"]
    "5" [label="dna::BehaviorReader" tooltip="dna::BehaviorReader"]
    "43" [label="dna::BehaviorWriter" tooltip="dna::BehaviorWriter"]
    "6" [label="dna::DefinitionReader" tooltip="dna::DefinitionReader"]
    "44" [label="dna::DefinitionWriter" tooltip="dna::DefinitionWriter"]
    "7" [label="dna::DescriptorReader" tooltip="dna::DescriptorReader"]
    "45" [label="dna::DescriptorWriter" tooltip="dna::DescriptorWriter"]
    "8" [label="dna::GeometryReader" tooltip="dna::GeometryReader"]
    "46" [label="dna::GeometryWriter" tooltip="dna::GeometryWriter"]
    "4" [label="dna::Reader" tooltip="dna::Reader"]
    "42" [label="dna::Writer" tooltip="dna::Writer"]
    "9" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl"]
    "11" [label="dnac::DNA" tooltip="dnac::DNA"]
    "3" [label="dnac::DNACalibDNAReader" tooltip="dnac::DNACalibDNAReader"]
    "1" [label="dnac::DNACalibDNAReaderImpl" tooltip="dnac::DNACalibDNAReaderImpl" fillcolor="#BFBFBF"]
    "38" [label="dnac::DenormalizedData< Reader >" tooltip="dnac::DenormalizedData< Reader >"]
    "21" [label="dnac::LODMapping" tooltip="dnac::LODMapping"]
    "35" [label="dnac::RawAnimatedMaps" tooltip="dnac::RawAnimatedMaps"]
    "29" [label="dnac::RawBehavior" tooltip="dnac::RawBehavior"]
    "34" [label="dnac::RawBlendShapeChannels" tooltip="dnac::RawBlendShapeChannels"]
    "31" [label="dnac::RawConditionalTable" tooltip="dnac::RawConditionalTable"]
    "30" [label="dnac::RawControls" tooltip="dnac::RawControls"]
    "18" [label="dnac::RawCoordinateSystem" tooltip="dnac::RawCoordinateSystem"]
    "19" [label="dnac::RawDefinition" tooltip="dnac::RawDefinition"]
    "17" [label="dnac::RawDescriptor" tooltip="dnac::RawDescriptor"]
    "36" [label="dnac::RawGeometry" tooltip="dnac::RawGeometry"]
    "33" [label="dnac::RawJoints" tooltip="dnac::RawJoints"]
    "20" [label="dnac::RawLODMapping" tooltip="dnac::RawLODMapping"]
    "32" [label="dnac::RawPSDMatrix" tooltip="dnac::RawPSDMatrix"]
    "27" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "39" [label="dnac::ReaderImpl< TReaderBase >" tooltip="dnac::ReaderImpl< TReaderBase >"]
    "13" [label="dnac::SectionLookupTable" tooltip="dnac::SectionLookupTable"]
    "12" [label="dnac::Version" tooltip="dnac::Version"]
    "47" [label="dnac::WriterImpl< TWriterBase >" tooltip="dnac::WriterImpl< TWriterBase >"]
    "10" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "24" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "16" [label="terse::ArchiveOffset< TOffset >" tooltip="terse::ArchiveOffset< TOffset >"]
    "15" [label="terse::ArchiveOffset< TOffset >::Proxy" tooltip="terse::ArchiveOffset< TOffset >::Proxy"]
    "26" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "23" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="template-instance"]
    "37" -> "21" [dir=forward tooltip="usage"]
    "37" -> "38" [dir=forward tooltip="template-instance"]
    "28" -> "23" [dir=forward tooltip="usage"]
    "28" -> "26" [dir=forward tooltip="template-instance"]
    "22" -> "23" [dir=forward tooltip="usage"]
    "22" -> "26" [dir=forward tooltip="template-instance"]
    "2" -> "3" [dir=forward tooltip="public-inheritance"]
    "2" -> "9" [dir=forward tooltip="public-inheritance"]
    "2" -> "37" [dir=forward tooltip="usage"]
    "2" -> "39" [dir=forward tooltip="template-instance"]
    "41" -> "42" [dir=forward tooltip="public-inheritance"]
    "41" -> "9" [dir=forward tooltip="public-inheritance"]
    "41" -> "47" [dir=forward tooltip="template-instance"]
    "5" -> "6" [dir=forward tooltip="public-inheritance"]
    "43" -> "44" [dir=forward tooltip="public-inheritance"]
    "6" -> "7" [dir=forward tooltip="public-inheritance"]
    "44" -> "45" [dir=forward tooltip="public-inheritance"]
    "8" -> "6" [dir=forward tooltip="public-inheritance"]
    "46" -> "44" [dir=forward tooltip="public-inheritance"]
    "4" -> "5" [dir=forward tooltip="public-inheritance"]
    "4" -> "8" [dir=forward tooltip="public-inheritance"]
    "42" -> "43" [dir=forward tooltip="public-inheritance"]
    "42" -> "46" [dir=forward tooltip="public-inheritance"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "9" -> "11" [dir=forward tooltip="usage"]
    "11" -> "10" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "11" -> "13" [dir=forward tooltip="usage"]
    "11" -> "17" [dir=forward tooltip="usage"]
    "11" -> "19" [dir=forward tooltip="usage"]
    "11" -> "29" [dir=forward tooltip="usage"]
    "11" -> "36" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "41" [dir=forward tooltip="public-inheritance"]
    "38" -> "21" [dir=forward tooltip="usage"]
    "35" -> "22" [dir=forward tooltip="usage"]
    "35" -> "31" [dir=forward tooltip="usage"]
    "29" -> "14" [dir=forward tooltip="usage"]
    "29" -> "30" [dir=forward tooltip="usage"]
    "29" -> "33" [dir=forward tooltip="usage"]
    "29" -> "34" [dir=forward tooltip="usage"]
    "29" -> "35" [dir=forward tooltip="usage"]
    "34" -> "22" [dir=forward tooltip="usage"]
    "31" -> "22" [dir=forward tooltip="usage"]
    "31" -> "28" [dir=forward tooltip="usage"]
    "30" -> "31" [dir=forward tooltip="usage"]
    "30" -> "32" [dir=forward tooltip="usage"]
    "19" -> "14" [dir=forward tooltip="usage"]
    "19" -> "20" [dir=forward tooltip="usage"]
    "19" -> "22" [dir=forward tooltip="usage"]
    "19" -> "27" [dir=forward tooltip="usage"]
    "17" -> "14" [dir=forward tooltip="usage"]
    "17" -> "18" [dir=forward tooltip="usage"]
    "36" -> "14" [dir=forward tooltip="usage"]
    "20" -> "21" [dir=forward tooltip="public-inheritance"]
    "32" -> "22" [dir=forward tooltip="usage"]
    "32" -> "28" [dir=forward tooltip="usage"]
    "27" -> "28" [dir=forward tooltip="usage"]
    "39" -> "40" [dir=forward tooltip="public-inheritance"]
    "39" -> "9" [dir=forward tooltip="public-inheritance"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "47" -> "48" [dir=forward tooltip="public-inheritance"]
    "47" -> "9" [dir=forward tooltip="public-inheritance"]
    "24" -> "25" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "15" -> "16" [dir=forward tooltip="usage"]
    "26" -> "23" [dir=forward tooltip="usage"]
    "23" -> "24" [dir=forward tooltip="template-instance"]
}

Public Functions

explicit DNACalibDNAReaderImpl(MemoryResource *memRes_)
virtual ~DNACalibDNAReaderImpl()
DNACalibDNAReaderImpl(const DNACalibDNAReaderImpl&) = delete
DNACalibDNAReaderImpl &operator=(const DNACalibDNAReaderImpl&) = delete
DNACalibDNAReaderImpl(DNACalibDNAReaderImpl&&) = delete
DNACalibDNAReaderImpl &operator=(DNACalibDNAReaderImpl&&) = delete
virtual void setLODCount(std::uint16_t lodCount)

Available levels of detail (e.g. 6 which means the following levels are available: [0,1,2,3,4,5], where 0 is the LOD with the highest details, and 5 is the LOD with lowest details).

Parameters

lodCount – The number of levels available.

void setNeutralJointTranslations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
void setNeutralJointTranslations(RawVector3Vector &&translations)
void setNeutralJointTranslation(std::uint16_t index, const Vector3 &translation)
void setNeutralJointRotations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
void setNeutralJointRotations(RawVector3Vector &&rotations)
void setNeutralJointRotation(std::uint16_t index, const Vector3 &rotation)
void setJointGroupValues(std::uint16_t jointGroupIndex, AlignedDynArray<float> &&values)
void setVertexPositions(std::uint16_t meshIndex, ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
void setVertexPositions(std::uint16_t meshIndex, RawVector3Vector &&positions)
void setBlendShapeTargetDeltas(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs)
void setBlendShapeTargetDeltas(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, RawVector3Vector &&deltas)
void setBlendShapeTargetVertexIndices(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, ConstArrayView<std::uint32_t> vertexIndices)
void pruneBlendShapeTargets(float threshold)
void removeMeshes(ConstArrayView<std::uint16_t> meshIndices)
void removeJoints(ConstArrayView<std::uint16_t> jointIndices)
void removeJointAnimations(ConstArrayView<std::uint16_t> jointIndex)
void removeBlendShapes(ConstArrayView<std::uint16_t> blendShapeIndices)
void removeAnimatedMaps(ConstArrayView<std::uint16_t> animatedMapIndices)
class dnac::LODConstraint

Collaboration diagram for dnac::LODConstraint:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::LODConstraint" tooltip="dnac::LODConstraint" fillcolor="#BFBFBF"]
}

Public Functions

LODConstraint(std::uint16_t maxLOD, std::uint16_t minLOD, MemoryResource *memRes)
LODConstraint(ConstArrayView<std::uint16_t> lods, MemoryResource *memRes)
bool hasImpactOn(std::uint16_t lodCount) const
std::uint16_t getMaxLOD() const
std::uint16_t getMinLOD() const
std::uint16_t getLODCount() const
void clampTo(std::uint16_t lodCount)
void applyTo(Vector<std::uint16_t> &unconstrainedLODs) const
void applyTo(DynArray<std::uint16_t> &unconstrainedLODs) const

Private Members

Vector<std::uint16_t> lods
class dnac::LODMapping

Inheritence diagram for dnac::LODMapping:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::LODMapping" tooltip="dnac::LODMapping" fillcolor="#BFBFBF"]
    "2" [label="dnac::RawLODMapping" tooltip="dnac::RawLODMapping"]
    "2" -> "1" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::LODMapping:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::LODMapping" tooltip="dnac::LODMapping" fillcolor="#BFBFBF"]
}

Subclassed by dnac::RawLODMapping

Public Functions

explicit LODMapping(MemoryResource *memRes_)
std::uint16_t getLODCount() const
void resetIndices()
void resetLODs()
void reset()
void setLODCount(std::uint16_t lodCount)
void discardLODs(const LODConstraint &lodConstraint)
ConstArrayView<std::uint16_t> getIndices(std::uint16_t lod) const
std::uint16_t getIndexListCount() const
void clearIndices(std::uint16_t index)
void addIndices(std::uint16_t index, const std::uint16_t *source, std::uint16_t count)
void associateLODWithIndices(std::uint16_t lod, std::uint16_t index)
void mapIndices(std::function<std::uint16_t(std::uint16_t)> mapper)
void filterIndices(std::function<bool(std::uint16_t)> filterer)
UnorderedSet<std::uint16_t> getCombinedDistinctIndices(MemoryResource *memRes) const

Protected Attributes

Vector<std::uint16_t> lods
Matrix<std::uint16_t> indices

Private Functions

void cleanupIndices()
template<class TReaderBase>
class dnac::ReaderImpl : public TReaderBase, public virtual dnac::BaseImpl

Inheritence diagram for dnac::ReaderImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="dnac::ReaderImpl< DNACalibDNAReader >" tooltip="dnac::ReaderImpl< DNACalibDNAReader >"]
    "2" [label="TReaderBase" tooltip="TReaderBase"]
    "3" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl"]
    "5" [label="dnac::DNACalibDNAReaderImpl" tooltip="dnac::DNACalibDNAReaderImpl"]
    "1" [label="dnac::ReaderImpl< TReaderBase >" tooltip="dnac::ReaderImpl< TReaderBase >" fillcolor="#BFBFBF"]
    "4" -> "1" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::ReaderImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "8" [label="terse::ArchiveOffset< std::uint32_t >" tooltip="terse::ArchiveOffset< std::uint32_t >"]
    "22" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "16" [label="terse::DynArray< std::uint16_t >" tooltip="terse::DynArray< std::uint16_t >"]
    "19" [label="T" tooltip="T"]
    "2" [label="TReaderBase" tooltip="TReaderBase"]
    "3" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl"]
    "5" [label="dnac::DNA" tooltip="dnac::DNA"]
    "15" [label="dnac::LODMapping" tooltip="dnac::LODMapping"]
    "29" [label="dnac::RawAnimatedMaps" tooltip="dnac::RawAnimatedMaps"]
    "23" [label="dnac::RawBehavior" tooltip="dnac::RawBehavior"]
    "28" [label="dnac::RawBlendShapeChannels" tooltip="dnac::RawBlendShapeChannels"]
    "25" [label="dnac::RawConditionalTable" tooltip="dnac::RawConditionalTable"]
    "24" [label="dnac::RawControls" tooltip="dnac::RawControls"]
    "12" [label="dnac::RawCoordinateSystem" tooltip="dnac::RawCoordinateSystem"]
    "13" [label="dnac::RawDefinition" tooltip="dnac::RawDefinition"]
    "11" [label="dnac::RawDescriptor" tooltip="dnac::RawDescriptor"]
    "30" [label="dnac::RawGeometry" tooltip="dnac::RawGeometry"]
    "27" [label="dnac::RawJoints" tooltip="dnac::RawJoints"]
    "14" [label="dnac::RawLODMapping" tooltip="dnac::RawLODMapping"]
    "26" [label="dnac::RawPSDMatrix" tooltip="dnac::RawPSDMatrix"]
    "21" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "1" [label="dnac::ReaderImpl< TReaderBase >" tooltip="dnac::ReaderImpl< TReaderBase >" fillcolor="#BFBFBF"]
    "7" [label="dnac::SectionLookupTable" tooltip="dnac::SectionLookupTable"]
    "6" [label="dnac::Version" tooltip="dnac::Version"]
    "4" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "18" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "10" [label="terse::ArchiveOffset< TOffset >" tooltip="terse::ArchiveOffset< TOffset >"]
    "9" [label="terse::ArchiveOffset< TOffset >::Proxy" tooltip="terse::ArchiveOffset< TOffset >::Proxy"]
    "20" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "17" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="template-instance"]
    "22" -> "17" [dir=forward tooltip="usage"]
    "22" -> "20" [dir=forward tooltip="template-instance"]
    "16" -> "17" [dir=forward tooltip="usage"]
    "16" -> "20" [dir=forward tooltip="template-instance"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "7" [dir=forward tooltip="usage"]
    "5" -> "11" [dir=forward tooltip="usage"]
    "5" -> "13" [dir=forward tooltip="usage"]
    "5" -> "23" [dir=forward tooltip="usage"]
    "5" -> "30" [dir=forward tooltip="usage"]
    "29" -> "16" [dir=forward tooltip="usage"]
    "29" -> "25" [dir=forward tooltip="usage"]
    "23" -> "8" [dir=forward tooltip="usage"]
    "23" -> "24" [dir=forward tooltip="usage"]
    "23" -> "27" [dir=forward tooltip="usage"]
    "23" -> "28" [dir=forward tooltip="usage"]
    "23" -> "29" [dir=forward tooltip="usage"]
    "28" -> "16" [dir=forward tooltip="usage"]
    "25" -> "16" [dir=forward tooltip="usage"]
    "25" -> "22" [dir=forward tooltip="usage"]
    "24" -> "25" [dir=forward tooltip="usage"]
    "24" -> "26" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "16" [dir=forward tooltip="usage"]
    "13" -> "21" [dir=forward tooltip="usage"]
    "11" -> "8" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "30" -> "8" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="public-inheritance"]
    "26" -> "16" [dir=forward tooltip="usage"]
    "26" -> "22" [dir=forward tooltip="usage"]
    "21" -> "22" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="public-inheritance"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "18" -> "19" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "20" -> "17" [dir=forward tooltip="usage"]
    "17" -> "18" [dir=forward tooltip="template-instance"]
}

Public Functions

inline explicit ReaderImpl(MemoryResource *memRes_)
inline StringView getName() const override
inline Archetype getArchetype() const override
inline Gender getGender() const override
inline std::uint16_t getAge() const override
inline std::uint32_t getMetaDataCount() const override
inline StringView getMetaDataKey(std::uint32_t index) const override
inline StringView getMetaDataValue(const char *key) const override
inline TranslationUnit getTranslationUnit() const override
inline RotationUnit getRotationUnit() const override
inline CoordinateSystem getCoordinateSystem() const override
inline std::uint16_t getLODCount() const override
inline std::uint16_t getDBMaxLOD() const override
inline StringView getDBComplexity() const override
inline StringView getDBName() const override
inline std::uint16_t getGUIControlCount() const override
inline StringView getGUIControlName(std::uint16_t index) const override
inline std::uint16_t getRawControlCount() const override
inline StringView getRawControlName(std::uint16_t index) const override
inline std::uint16_t getJointCount() const override
inline StringView getJointName(std::uint16_t index) const override
inline std::uint16_t getJointIndexListCount() const override
inline ConstArrayView<std::uint16_t> getJointIndicesForLOD(std::uint16_t lod) const override
inline std::uint16_t getJointParentIndex(std::uint16_t index) const override
inline std::uint16_t getBlendShapeChannelCount() const override
inline StringView getBlendShapeChannelName(std::uint16_t index) const override
inline std::uint16_t getBlendShapeChannelIndexListCount() const override
inline ConstArrayView<std::uint16_t> getBlendShapeChannelIndicesForLOD(std::uint16_t lod) const override
inline std::uint16_t getAnimatedMapCount() const override
inline StringView getAnimatedMapName(std::uint16_t index) const override
inline std::uint16_t getAnimatedMapIndexListCount() const override
inline ConstArrayView<std::uint16_t> getAnimatedMapIndicesForLOD(std::uint16_t lod) const override
inline std::uint16_t getMeshCount() const override
inline StringView getMeshName(std::uint16_t index) const override
inline std::uint16_t getMeshIndexListCount() const override
inline ConstArrayView<std::uint16_t> getMeshIndicesForLOD(std::uint16_t lod) const override
inline std::uint16_t getMeshBlendShapeChannelMappingCount() const override
inline MeshBlendShapeChannelMapping getMeshBlendShapeChannelMapping(std::uint16_t index) const override
inline ConstArrayView<std::uint16_t> getMeshBlendShapeChannelMappingIndicesForLOD(std::uint16_t lod) const override
inline Vector3 getNeutralJointTranslation(std::uint16_t index) const override
inline ConstArrayView<float> getNeutralJointTranslationXs() const override
inline ConstArrayView<float> getNeutralJointTranslationYs() const override
inline ConstArrayView<float> getNeutralJointTranslationZs() const override
inline Vector3 getNeutralJointRotation(std::uint16_t index) const override
inline ConstArrayView<float> getNeutralJointRotationXs() const override
inline ConstArrayView<float> getNeutralJointRotationYs() const override
inline ConstArrayView<float> getNeutralJointRotationZs() const override
inline ConstArrayView<std::uint16_t> getGUIToRawInputIndices() const override
inline ConstArrayView<std::uint16_t> getGUIToRawOutputIndices() const override
inline ConstArrayView<float> getGUIToRawFromValues() const override
inline ConstArrayView<float> getGUIToRawToValues() const override
inline ConstArrayView<float> getGUIToRawSlopeValues() const override
inline ConstArrayView<float> getGUIToRawCutValues() const override
inline std::uint16_t getPSDCount() const override
inline ConstArrayView<std::uint16_t> getPSDRowIndices() const override
inline ConstArrayView<std::uint16_t> getPSDColumnIndices() const override
inline ConstArrayView<float> getPSDValues() const override
inline std::uint16_t getJointRowCount() const override
inline std::uint16_t getJointColumnCount() const override
inline ConstArrayView<std::uint16_t> getJointVariableAttributeIndices(std::uint16_t lod) const override
inline std::uint16_t getJointGroupCount() const override
inline ConstArrayView<std::uint16_t> getJointGroupLODs(std::uint16_t jointGroupIndex) const override
inline ConstArrayView<std::uint16_t> getJointGroupInputIndices(std::uint16_t jointGroupIndex) const override
inline ConstArrayView<std::uint16_t> getJointGroupOutputIndices(std::uint16_t jointGroupIndex) const override
inline ConstArrayView<float> getJointGroupValues(std::uint16_t jointGroupIndex) const override
inline ConstArrayView<std::uint16_t> getJointGroupJointIndices(std::uint16_t jointGroupIndex) const override
inline ConstArrayView<std::uint16_t> getBlendShapeChannelLODs() const override
inline ConstArrayView<std::uint16_t> getBlendShapeChannelOutputIndices() const override
inline ConstArrayView<std::uint16_t> getBlendShapeChannelInputIndices() const override
inline ConstArrayView<std::uint16_t> getAnimatedMapLODs() const override
inline ConstArrayView<std::uint16_t> getAnimatedMapInputIndices() const override
inline ConstArrayView<std::uint16_t> getAnimatedMapOutputIndices() const override
inline ConstArrayView<float> getAnimatedMapFromValues() const override
inline ConstArrayView<float> getAnimatedMapToValues() const override
inline ConstArrayView<float> getAnimatedMapSlopeValues() const override
inline ConstArrayView<float> getAnimatedMapCutValues() const override
inline std::uint32_t getVertexPositionCount(std::uint16_t meshIndex) const override
inline Position getVertexPosition(std::uint16_t meshIndex, std::uint32_t vertexIndex) const override
inline ConstArrayView<float> getVertexPositionXs(std::uint16_t meshIndex) const override
inline ConstArrayView<float> getVertexPositionYs(std::uint16_t meshIndex) const override
inline ConstArrayView<float> getVertexPositionZs(std::uint16_t meshIndex) const override
inline std::uint32_t getVertexTextureCoordinateCount(std::uint16_t meshIndex) const override
inline TextureCoordinate getVertexTextureCoordinate(std::uint16_t meshIndex, std::uint32_t textureCoordinateIndex) const override
inline ConstArrayView<float> getVertexTextureCoordinateUs(std::uint16_t meshIndex) const override
inline ConstArrayView<float> getVertexTextureCoordinateVs(std::uint16_t meshIndex) const override
inline std::uint32_t getVertexNormalCount(std::uint16_t meshIndex) const override
inline Normal getVertexNormal(std::uint16_t meshIndex, std::uint32_t normalIndex) const override
inline ConstArrayView<float> getVertexNormalXs(std::uint16_t meshIndex) const override
inline ConstArrayView<float> getVertexNormalYs(std::uint16_t meshIndex) const override
inline ConstArrayView<float> getVertexNormalZs(std::uint16_t meshIndex) const override
inline std::uint32_t getFaceCount(std::uint16_t meshIndex) const override
inline ConstArrayView<std::uint32_t> getFaceVertexLayoutIndices(std::uint16_t meshIndex, std::uint32_t faceIndex) const override
inline std::uint32_t getVertexLayoutCount(std::uint16_t meshIndex) const override
inline VertexLayout getVertexLayout(std::uint16_t meshIndex, std::uint32_t layoutIndex) const override
inline ConstArrayView<std::uint32_t> getVertexLayoutPositionIndices(std::uint16_t meshIndex) const override
inline ConstArrayView<std::uint32_t> getVertexLayoutTextureCoordinateIndices(std::uint16_t meshIndex) const override
inline ConstArrayView<std::uint32_t> getVertexLayoutNormalIndices(std::uint16_t meshIndex) const override
inline std::uint16_t getMaximumInfluencePerVertex(std::uint16_t meshIndex) const override
inline std::uint32_t getSkinWeightsCount(std::uint16_t meshIndex) const override
inline ConstArrayView<float> getSkinWeightsValues(std::uint16_t meshIndex, std::uint32_t vertexIndex) const override
inline ConstArrayView<std::uint16_t> getSkinWeightsJointIndices(std::uint16_t meshIndex, std::uint32_t vertexIndex) const override
inline std::uint16_t getBlendShapeTargetCount(std::uint16_t meshIndex) const override
inline std::uint16_t getBlendShapeChannelIndex(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const override
inline std::uint32_t getBlendShapeTargetDeltaCount(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const override
inline Delta getBlendShapeTargetDelta(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint32_t deltaIndex) const override
inline ConstArrayView<float> getBlendShapeTargetDeltaXs(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const override
inline ConstArrayView<float> getBlendShapeTargetDeltaYs(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const override
inline ConstArrayView<float> getBlendShapeTargetDeltaZs(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const override
inline ConstArrayView<std::uint32_t> getBlendShapeTargetVertexIndices(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex) const override
void unload(DataLayer layer) override

Protected Attributes

mutable DenormalizedData<TReaderBase> cache
template<class TWriterBase>
class dnac::WriterImpl : public TWriterBase, public virtual dnac::BaseImpl

Inheritence diagram for dnac::WriterImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="TWriterBase" tooltip="TWriterBase"]
    "4" [label="dnac::WriterImpl< dna::Writer >" tooltip="dnac::WriterImpl< dna::Writer >"]
    "3" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl"]
    "5" [label="dnac::DNACalibDNAReaderImpl" tooltip="dnac::DNACalibDNAReaderImpl"]
    "1" [label="dnac::WriterImpl< TWriterBase >" tooltip="dnac::WriterImpl< TWriterBase >" fillcolor="#BFBFBF"]
    "4" -> "1" [dir=forward tooltip="template-instance"]
    "5" -> "4" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for dnac::WriterImpl:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "8" [label="terse::ArchiveOffset< std::uint32_t >" tooltip="terse::ArchiveOffset< std::uint32_t >"]
    "22" [label="terse::DynArray< float >" tooltip="terse::DynArray< float >"]
    "16" [label="terse::DynArray< std::uint16_t >" tooltip="terse::DynArray< std::uint16_t >"]
    "19" [label="T" tooltip="T"]
    "2" [label="TWriterBase" tooltip="TWriterBase"]
    "3" [label="dnac::BaseImpl" tooltip="dnac::BaseImpl"]
    "5" [label="dnac::DNA" tooltip="dnac::DNA"]
    "15" [label="dnac::LODMapping" tooltip="dnac::LODMapping"]
    "29" [label="dnac::RawAnimatedMaps" tooltip="dnac::RawAnimatedMaps"]
    "23" [label="dnac::RawBehavior" tooltip="dnac::RawBehavior"]
    "28" [label="dnac::RawBlendShapeChannels" tooltip="dnac::RawBlendShapeChannels"]
    "25" [label="dnac::RawConditionalTable" tooltip="dnac::RawConditionalTable"]
    "24" [label="dnac::RawControls" tooltip="dnac::RawControls"]
    "12" [label="dnac::RawCoordinateSystem" tooltip="dnac::RawCoordinateSystem"]
    "13" [label="dnac::RawDefinition" tooltip="dnac::RawDefinition"]
    "11" [label="dnac::RawDescriptor" tooltip="dnac::RawDescriptor"]
    "30" [label="dnac::RawGeometry" tooltip="dnac::RawGeometry"]
    "27" [label="dnac::RawJoints" tooltip="dnac::RawJoints"]
    "14" [label="dnac::RawLODMapping" tooltip="dnac::RawLODMapping"]
    "26" [label="dnac::RawPSDMatrix" tooltip="dnac::RawPSDMatrix"]
    "21" [label="dnac::RawVector3Vector" tooltip="dnac::RawVector3Vector"]
    "7" [label="dnac::SectionLookupTable" tooltip="dnac::SectionLookupTable"]
    "6" [label="dnac::Version" tooltip="dnac::Version"]
    "1" [label="dnac::WriterImpl< TWriterBase >" tooltip="dnac::WriterImpl< TWriterBase >" fillcolor="#BFBFBF"]
    "4" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "18" [label="std::unique_ptr< T >" tooltip="std::unique_ptr< T >"]
    "10" [label="terse::ArchiveOffset< TOffset >" tooltip="terse::ArchiveOffset< TOffset >"]
    "9" [label="terse::ArchiveOffset< TOffset >::Proxy" tooltip="terse::ArchiveOffset< TOffset >::Proxy"]
    "20" [label="terse::DynArray< T, TAllocator >" tooltip="terse::DynArray< T, TAllocator >"]
    "17" [label="std::unique_ptr< value_type, std::function< void(value_type *)> >" tooltip="std::unique_ptr< value_type, std::function< void(value_type *)> >"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="template-instance"]
    "22" -> "17" [dir=forward tooltip="usage"]
    "22" -> "20" [dir=forward tooltip="template-instance"]
    "16" -> "17" [dir=forward tooltip="usage"]
    "16" -> "20" [dir=forward tooltip="template-instance"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "7" [dir=forward tooltip="usage"]
    "5" -> "11" [dir=forward tooltip="usage"]
    "5" -> "13" [dir=forward tooltip="usage"]
    "5" -> "23" [dir=forward tooltip="usage"]
    "5" -> "30" [dir=forward tooltip="usage"]
    "29" -> "16" [dir=forward tooltip="usage"]
    "29" -> "25" [dir=forward tooltip="usage"]
    "23" -> "8" [dir=forward tooltip="usage"]
    "23" -> "24" [dir=forward tooltip="usage"]
    "23" -> "27" [dir=forward tooltip="usage"]
    "23" -> "28" [dir=forward tooltip="usage"]
    "23" -> "29" [dir=forward tooltip="usage"]
    "28" -> "16" [dir=forward tooltip="usage"]
    "25" -> "16" [dir=forward tooltip="usage"]
    "25" -> "22" [dir=forward tooltip="usage"]
    "24" -> "25" [dir=forward tooltip="usage"]
    "24" -> "26" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "16" [dir=forward tooltip="usage"]
    "13" -> "21" [dir=forward tooltip="usage"]
    "11" -> "8" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "30" -> "8" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="public-inheritance"]
    "26" -> "16" [dir=forward tooltip="usage"]
    "26" -> "22" [dir=forward tooltip="usage"]
    "21" -> "22" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "1" -> "3" [dir=forward tooltip="public-inheritance"]
    "18" -> "19" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "20" -> "17" [dir=forward tooltip="usage"]
    "17" -> "18" [dir=forward tooltip="template-instance"]
}

Public Functions

explicit WriterImpl(MemoryResource *memRes_)
inline void setName(const char *name) override
inline void setArchetype(Archetype archetype) override
inline void setGender(Gender gender) override
inline void setAge(std::uint16_t age) override
inline void clearMetaData() override
inline void setMetaData(const char *key, const char *value) override
inline void setTranslationUnit(TranslationUnit unit) override
inline void setRotationUnit(RotationUnit unit) override
inline void setCoordinateSystem(CoordinateSystem system) override
inline void setLODCount(std::uint16_t lodCount) override
inline void setDBMaxLOD(std::uint16_t lod) override
inline void setDBComplexity(const char *name) override
inline void setDBName(const char *name) override
inline void clearGUIControlNames() override
inline void setGUIControlName(std::uint16_t index, const char *name) override
inline void clearRawControlNames() override
inline void setRawControlName(std::uint16_t index, const char *name) override
inline void clearJointNames() override
inline void setJointName(std::uint16_t index, const char *name) override
inline void clearJointIndices() override
inline void setJointIndices(std::uint16_t index, const std::uint16_t *jointIndices, std::uint16_t count) override
inline void clearLODJointMappings() override
inline void setLODJointMapping(std::uint16_t lod, std::uint16_t index) override
inline void clearBlendShapeChannelNames() override
inline void setJointHierarchy(const std::uint16_t *jointIndices, std::uint16_t count) override
inline void setBlendShapeChannelName(std::uint16_t index, const char *name) override
inline void clearBlendShapeChannelIndices() override
inline void setBlendShapeChannelIndices(std::uint16_t index, const std::uint16_t *blendShapeChannelIndices, std::uint16_t count) override
inline void clearLODBlendShapeChannelMappings() override
inline void setLODBlendShapeChannelMapping(std::uint16_t lod, std::uint16_t index) override
inline void clearAnimatedMapNames() override
inline void setAnimatedMapName(std::uint16_t index, const char *name) override
inline void clearAnimatedMapIndices() override
inline void setAnimatedMapIndices(std::uint16_t index, const std::uint16_t *animatedMapIndices, std::uint16_t count) override
inline void clearLODAnimatedMapMappings() override
inline void setLODAnimatedMapMapping(std::uint16_t lod, std::uint16_t index) override
inline void clearMeshNames() override
inline void setMeshName(std::uint16_t index, const char *name) override
inline void clearMeshIndices() override
inline void setMeshIndices(std::uint16_t index, const std::uint16_t *meshIndices, std::uint16_t count) override
inline void clearLODMeshMappings() override
inline void setLODMeshMapping(std::uint16_t lod, std::uint16_t index) override
inline void clearMeshBlendShapeChannelMappings() override
inline void setMeshBlendShapeChannelMapping(std::uint32_t index, std::uint16_t meshIndex, std::uint16_t blendShapeChannelIndex) override
inline void setNeutralJointTranslations(const Vector3 *translations, std::uint16_t count) override
inline void setNeutralJointRotations(const Vector3 *rotations, std::uint16_t count) override
inline void setGUIToRawInputIndices(const std::uint16_t *inputIndices, std::uint16_t count) override
inline void setGUIToRawOutputIndices(const std::uint16_t *outputIndices, std::uint16_t count) override
inline void setGUIToRawFromValues(const float *fromValues, std::uint16_t count) override
inline void setGUIToRawToValues(const float *toValues, std::uint16_t count) override
inline void setGUIToRawSlopeValues(const float *slopeValues, std::uint16_t count) override
inline void setGUIToRawCutValues(const float *cutValues, std::uint16_t count) override
inline void setPSDCount(std::uint16_t count) override
inline void setPSDRowIndices(const std::uint16_t *rowIndices, std::uint16_t count) override
inline void setPSDColumnIndices(const std::uint16_t *columnIndices, std::uint16_t count) override
inline void setPSDValues(const float *weights, std::uint16_t count) override
inline void setJointRowCount(std::uint16_t rowCount) override
inline void setJointColumnCount(std::uint16_t columnCount) override
inline void clearJointGroups() override
inline void deleteJointGroup(std::uint16_t jointGroupIndex) override
inline void setJointGroupLODs(std::uint16_t jointGroupIndex, const std::uint16_t *lods, std::uint16_t count) override
inline void setJointGroupInputIndices(std::uint16_t jointGroupIndex, const std::uint16_t *inputIndices, std::uint16_t count) override
inline void setJointGroupOutputIndices(std::uint16_t jointGroupIndex, const std::uint16_t *outputIndices, std::uint16_t count) override
inline void setJointGroupValues(std::uint16_t jointGroupIndex, const float *values, std::uint32_t count) override
inline void setJointGroupJointIndices(std::uint16_t jointGroupIndex, const std::uint16_t *jointIndices, std::uint16_t count) override
inline void setBlendShapeChannelLODs(const std::uint16_t *lods, std::uint16_t count) override
inline void setBlendShapeChannelInputIndices(const std::uint16_t *inputIndices, std::uint16_t count) override
inline void setBlendShapeChannelOutputIndices(const std::uint16_t *outputIndices, std::uint16_t count) override
inline void setAnimatedMapLODs(const std::uint16_t *lods, std::uint16_t count) override
inline void setAnimatedMapInputIndices(const std::uint16_t *inputIndices, std::uint16_t count) override
inline void setAnimatedMapOutputIndices(const std::uint16_t *outputIndices, std::uint16_t count) override
inline void setAnimatedMapFromValues(const float *fromValues, std::uint16_t count) override
inline void setAnimatedMapToValues(const float *toValues, std::uint16_t count) override
inline void setAnimatedMapSlopeValues(const float *slopeValues, std::uint16_t count) override
inline void setAnimatedMapCutValues(const float *cutValues, std::uint16_t count) override
inline void clearMeshes() override
inline void deleteMesh(std::uint16_t meshIndex) override
inline void setVertexPositions(std::uint16_t meshIndex, const Position *positions, std::uint32_t count) override
inline void setVertexTextureCoordinates(std::uint16_t meshIndex, const TextureCoordinate *textureCoordinates, std::uint32_t count) override
inline void setVertexNormals(std::uint16_t meshIndex, const Normal *normals, std::uint32_t count) override
inline void setVertexLayouts(std::uint16_t meshIndex, const VertexLayout *layouts, std::uint32_t count) override
inline void clearFaceVertexLayoutIndices(std::uint16_t meshIndex) override
inline void setFaceVertexLayoutIndices(std::uint16_t meshIndex, std::uint32_t faceIndex, const std::uint32_t *layoutIndices, std::uint32_t count) override
inline void setMaximumInfluencePerVertex(std::uint16_t meshIndex, std::uint16_t maxInfluenceCount) override
inline void clearSkinWeights(std::uint16_t meshIndex) override
inline void setSkinWeightsValues(std::uint16_t meshIndex, std::uint32_t vertexIndex, const float *weights, std::uint16_t count) override
inline void setSkinWeightsJointIndices(std::uint16_t meshIndex, std::uint32_t vertexIndex, const std::uint16_t *jointIndices, std::uint16_t count) override
inline void clearBlendShapeTargets(std::uint16_t meshIndex) override
inline void setBlendShapeChannelIndex(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, std::uint16_t blendShapeChannelIndex) override
inline void setBlendShapeTargetDeltas(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, const Delta *deltas, std::uint32_t count) override
inline void setBlendShapeTargetVertexIndices(std::uint16_t meshIndex, std::uint16_t blendShapeTargetIndex, const std::uint32_t *vertexIndices, std::uint32_t count) override
class dnac::AnimatedMapFilter

Collaboration diagram for dnac::AnimatedMapFilter:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::AnimatedMapFilter" tooltip="dnac::AnimatedMapFilter" fillcolor="#BFBFBF"]
    "2" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Functions

explicit AnimatedMapFilter(MemoryResource *memRes_)
void configure(std::uint16_t animatedMapCount, UnorderedSet<std::uint16_t> allowedAnimatedMapIndices, Matrix<std::uint16_t> lodIndices)
void apply(RawDefinition &dest)
void apply(RawBehavior &dest)
bool passes(std::uint16_t index) const

Private Members

MemoryResource *memRes
UnorderedSet<std::uint16_t> passingIndices
UnorderedMap<std::uint16_t, std::uint16_t> remappedIndices
Matrix<std::uint16_t> animatedMapLODIndices
class dnac::BlendShapeFilter

Collaboration diagram for dnac::BlendShapeFilter:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::BlendShapeFilter" tooltip="dnac::BlendShapeFilter" fillcolor="#BFBFBF"]
    "2" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Functions

explicit BlendShapeFilter(MemoryResource *memRes_)
void configure(std::uint16_t blendShapeCount, UnorderedSet<std::uint16_t> allowedBlendShapeIndices, Vector<std::uint16_t> blendShapeLODs)
void apply(RawDefinition &dest)
void apply(RawBehavior &dest)
void apply(RawMesh &dest)
bool passes(std::uint16_t index) const

Private Members

MemoryResource *memRes
UnorderedSet<std::uint16_t> passingIndices
UnorderedMap<std::uint16_t, std::uint16_t> remappedIndices
Vector<std::uint16_t> newBlendShapeLODs
class dnac::JointFilter

Collaboration diagram for dnac::JointFilter:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::JointFilter" tooltip="dnac::JointFilter" fillcolor="#BFBFBF"]
    "2" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Types

enum class Option

Values:

enumerator All
enumerator AnimationOnly

Public Functions

explicit JointFilter(MemoryResource *memRes_)
void configure(std::uint16_t jointCount, UnorderedSet<std::uint16_t> allowedJointIndices, Option option_ = Option::All)
void apply(RawDefinition &dest)
void apply(RawBehavior &dest)
void apply(RawVertexSkinWeights &dest)
bool passes(std::uint16_t index) const
std::uint16_t remapped(std::uint16_t oldIndex) const
std::uint16_t maxRemappedIndex() const

Private Members

MemoryResource *memRes
UnorderedSet<std::uint16_t> passingIndices
UnorderedMap<std::uint16_t, std::uint16_t> remappedIndices
Option option
std::uint16_t rootJointIndex
class dnac::MeshFilter

Collaboration diagram for dnac::MeshFilter:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::MeshFilter" tooltip="dnac::MeshFilter" fillcolor="#BFBFBF"]
    "2" [label="pma::MemoryResource" tooltip="pma::MemoryResource"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Functions

explicit MeshFilter(MemoryResource *memRes_)
void configure(std::uint16_t meshCount, UnorderedSet<std::uint16_t> allowedMeshIndices)
void apply(RawDefinition &dest)
bool passes(std::uint16_t index) const

Private Members

MemoryResource *memRes
UnorderedSet<std::uint16_t> passingIndices
UnorderedMap<std::uint16_t, std::uint16_t> remappedIndices
class dnac::BoundingBox

Collaboration diagram for dnac::BoundingBox:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="T" tooltip="T"]
    "1" [label="dnac::BoundingBox" tooltip="dnac::BoundingBox" fillcolor="#BFBFBF"]
    "3" [label="tdm::vec< L, T >" tooltip="tdm::vec< L, T >"]
    "2" [label="tdm::vec< 2 >" tooltip="tdm::vec< 2 >"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
}

Public Functions

template<typename TIter, typename std::enable_if<std::is_same<unqualified_iter_value_type<TIter>, fvec2>::value, void>::type* = nullptr>
inline BoundingBox(TIter begin, TIter end, float alpha)
template<typename TContainer>
inline explicit BoundingBox(TContainer container, float alpha = defaultAlpha)
inline bool contains(const fvec2 &point) const
inline fvec2 getMin() const
inline fvec2 getMax() const

Public Static Attributes

static constexpr float defaultAlpha = 0.0003f

Private Types

template<typename TIter>
using unqualified_iter_value_type = typename std::remove_cv<typename std::iterator_traits<TIter>::value_type>::type

Private Members

fvec2 min
fvec2 max
class dnac::Triangle

Collaboration diagram for dnac::Triangle:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="T" tooltip="T"]
    "1" [label="dnac::Triangle" tooltip="dnac::Triangle" fillcolor="#BFBFBF"]
    "3" [label="tdm::vec< L, T >" tooltip="tdm::vec< L, T >"]
    "2" [label="tdm::vec< 2 >" tooltip="tdm::vec< 2 >"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="template-instance"]
}

Public Functions

Triangle(const fvec2 &a, const fvec2 &b, const fvec2 &c)
explicit Triangle(const std::array<fvec2, 3> &vertices)
Triangle(const Triangle &triangle) = default
Triangle &operator=(const Triangle &triangle) = default
Triangle(Triangle&&) = default
Triangle &operator=(Triangle &&triangle) = default
fvec3 getBarycentricCoords(const fvec2 &point) const
fvec2 A() const
fvec2 B() const
fvec2 C() const

Private Members

fvec2 a
fvec2 v0
fvec2 v1
float d00
float d01
float d11
float denom
class dnac::UVBarycentricMapping

Collaboration diagram for dnac::UVBarycentricMapping:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="dnac::UVBarycentricMapping" tooltip="dnac::UVBarycentricMapping" fillcolor="#BFBFBF"]
}

Public Types

using TrianglePositionIndicesPair = std::pair<Triangle, std::array<std::uint32_t, 3u>>
using BarycentricPositionIndicesPair = std::pair<fvec3, ConstArrayView<std::uint32_t>>

Public Functions

UVBarycentricMapping(const std::function<ConstArrayView<std::uint32_t>(std::uint32_t)> &faceGetter, ConstArrayView<std::uint32_t> vertexPositionIndices, ConstArrayView<std::uint32_t> textureCoordinateUVIndices, ConstArrayView<float> Us, ConstArrayView<float> Vs, std::uint32_t faceCount, MemoryResource *memRes)
explicit UVBarycentricMapping(const dna::Reader *reader, std::uint16_t meshIndex, MemoryResource *memRes)
ConstArrayView<TrianglePositionIndicesPair> getTriangles() const
ConstArrayView<BoundingBox> getBoundingBoxes() const
BarycentricPositionIndicesPair getBarycentric(const fvec2 &uv) const

Private Members

Vector<TrianglePositionIndicesPair> triangles
Vector<BoundingBox> bBoxes
template<class Reader>
struct dnac::DenormalizedData

Public Functions

inline explicit DenormalizedData(MemoryResource *memRes)
inline void populate(const Reader *source)

Public Members

LODMapping jointVariableAttributeIndices
LODMapping meshBlendShapeMappingIndices

Private Functions

inline void populateJointVariableAttributeIndices(const dna::Reader *source, LODMapping &destination)
inline void populateMeshBlendShapeMappingIndices(const dna::Reader *source, LODMapping &destination)
struct dnac::WeightGetterFactory

Public Types

using GetterFunc = std::function<float(float*, std::size_t)>

Public Static Functions

static inline GetterFunc create(const Vector<float> &masks)
template<typename TFrom, typename TTo = TFrom>
struct dnac::RawSurjectiveMapping : public dnac::SurjectiveMapping<TFrom, TFrom>

Public Functions

template<class Archive>
inline void serialize(Archive &archive)
template<typename T>
struct dnac::ExpectedValue

Public Functions

inline explicit ExpectedValue(const T &value)
template<class Archive>
inline void load(Archive &archive)
template<class Archive>
inline void save(Archive &archive)
inline bool matches() const

Public Members

T expected
T got
template<std::size_t Size>
struct dnac::Signature

Public Types

using SignatureValueType = std::array<char, Size>

Public Functions

inline explicit Signature(SignatureValueType bytes)
template<class Archive>
inline void serialize(Archive &archive)
inline bool matches() const

Public Members

ExpectedValue<SignatureValueType> value
struct dnac::Version

Public Functions

inline Version(std::uint16_t generation_, std::uint16_t version_)
template<class Archive>
inline void serialize(Archive &archive)
inline bool matches() const

Public Members

ExpectedValue<std::uint16_t> generation
ExpectedValue<std::uint16_t> version
struct dnac::SectionLookupTable

Public Functions

template<class Archive>
inline void serialize(Archive &archive)

Public Members

terse::ArchiveOffset<std::uint32_t> descriptor
terse::ArchiveOffset<std::uint32_t> definition
terse::ArchiveOffset<std::uint32_t> behavior
terse::ArchiveOffset<std::uint32_t> controls
terse::ArchiveOffset<std::uint32_t> joints
terse::ArchiveOffset<std::uint32_t> blendShapeChannels
terse::ArchiveOffset<std::uint32_t> animatedMaps
terse::ArchiveOffset<std::uint32_t> geometry
struct dnac::RawCoordinateSystem

Public Functions

template<class Archive>
inline void serialize(Archive &archive)

Public Members

std::uint16_t xAxis
std::uint16_t yAxis
std::uint16_t zAxis
struct dnac::RawLODMapping : public dnac::LODMapping

Public Functions

template<class Archive>
inline void serialize(Archive &archive)
explicit LODMapping(MemoryResource *memRes_)
struct dnac::RawDescriptor

Public Types

using StringPair = std::tuple<String<char>, String<char>>

Public Functions

inline RawDescriptor(terse::ArchiveOffset<std::uint32_t> &markerTarget, MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

terse::ArchiveOffset<std::uint32_t>::Proxy marker
String<char> name
std::uint16_t archetype
std::uint16_t gender
std::uint16_t age
Vector<StringPair> metadata
std::uint16_t translationUnit
std::uint16_t rotationUnit
RawCoordinateSystem coordinateSystem
std::uint16_t lodCount
std::uint16_t maxLOD
String<char> complexity
String<char> dbName
struct dnac::RawVector3Vector

Public Functions

inline explicit RawVector3Vector(MemoryResource *memRes)
inline RawVector3Vector(std::size_t size_, float initial, MemoryResource *memRes)
inline RawVector3Vector(ConstArrayView<float> xs_, ConstArrayView<float> ys_, ConstArrayView<float> zs_, MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)
inline std::size_t size() const
inline void reserve(std::size_t count)
inline void resize(std::size_t count)
inline void resize(std::size_t count, float value)
inline void clear()
template<typename Iterator>
inline void assign(Iterator start, Iterator end)

Public Members

AlignedDynArray<float> xs
AlignedDynArray<float> ys
AlignedDynArray<float> zs
struct dnac::RawDefinition

Public Functions

inline RawDefinition(terse::ArchiveOffset<std::uint32_t> &markerTarget, MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

terse::ArchiveOffset<std::uint32_t>::Proxy marker
RawLODMapping lodJointMapping
RawLODMapping lodBlendShapeMapping
RawLODMapping lodAnimatedMapMapping
RawLODMapping lodMeshMapping
Vector<String<char>> guiControlNames
Vector<String<char>> rawControlNames
Vector<String<char>> jointNames
Vector<String<char>> blendShapeChannelNames
Vector<String<char>> animatedMapNames
Vector<String<char>> meshNames
RawSurjectiveMapping<std::uint16_t> meshBlendShapeChannelMapping
DynArray<std::uint16_t> jointHierarchy
RawVector3Vector neutralJointTranslations
RawVector3Vector neutralJointRotations
struct dnac::RawConditionalTable

Public Functions

inline explicit RawConditionalTable(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

DynArray<std::uint16_t> inputIndices
DynArray<std::uint16_t> outputIndices
DynArray<float> fromValues
DynArray<float> toValues
DynArray<float> slopeValues
DynArray<float> cutValues
struct dnac::RawPSDMatrix

Public Functions

inline explicit RawPSDMatrix(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

DynArray<std::uint16_t> rows
DynArray<std::uint16_t> columns
DynArray<float> values
struct dnac::RawControls

Public Functions

inline explicit RawControls(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

std::uint16_t psdCount
RawConditionalTable conditionals
RawPSDMatrix psds
struct dnac::RawJointGroup

Public Functions

inline explicit RawJointGroup(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

DynArray<std::uint16_t> lods
DynArray<std::uint16_t> inputIndices
DynArray<std::uint16_t> outputIndices
AlignedDynArray<float> values
DynArray<std::uint16_t> jointIndices
struct dnac::RawJoints

Public Functions

inline explicit RawJoints(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

std::uint16_t rowCount
std::uint16_t colCount
Vector<RawJointGroup> jointGroups
struct dnac::RawBlendShapeChannels

Public Functions

inline explicit RawBlendShapeChannels(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

DynArray<std::uint16_t> lods
DynArray<std::uint16_t> inputIndices
DynArray<std::uint16_t> outputIndices
struct dnac::RawAnimatedMaps

Public Functions

inline explicit RawAnimatedMaps(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

DynArray<std::uint16_t> lods
RawConditionalTable conditionals
struct dnac::RawBehavior

Public Functions

inline RawBehavior(terse::ArchiveOffset<std::uint32_t> &markerTarget, terse::ArchiveOffset<std::uint32_t> &controlsMarkerTarget, terse::ArchiveOffset<std::uint32_t> &jointsMarkerTarget, terse::ArchiveOffset<std::uint32_t> &blendShapeChannelsMarkerTarget, terse::ArchiveOffset<std::uint32_t> &animatedMapsMarkerTarget, MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

terse::ArchiveOffset<std::uint32_t>::Proxy marker
terse::ArchiveOffset<std::uint32_t>::Proxy controlsMarker
RawControls controls
terse::ArchiveOffset<std::uint32_t>::Proxy jointsMarker
RawJoints joints
terse::ArchiveOffset<std::uint32_t>::Proxy blendShapeChannelsMarker
RawBlendShapeChannels blendShapeChannels
terse::ArchiveOffset<std::uint32_t>::Proxy animatedMapsMarker
RawAnimatedMaps animatedMaps
struct dnac::RawTextureCoordinateVector

Public Functions

inline explicit RawTextureCoordinateVector(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)
inline std::size_t size() const
inline void clear()

Public Members

DynArray<float> us
DynArray<float> vs
struct dnac::RawVertexLayoutVector

Public Functions

inline explicit RawVertexLayoutVector(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)
inline std::size_t size() const
inline void clear()

Public Members

DynArray<std::uint32_t> positions
DynArray<std::uint32_t> textureCoordinates
DynArray<std::uint32_t> normals
struct dnac::RawFace

Public Functions

inline explicit RawFace(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

DynArray<std::uint32_t> layoutIndices
struct dnac::RawVertexSkinWeights

Public Functions

inline explicit RawVertexSkinWeights(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

AlignedDynArray<float> weights
DynArray<std::uint16_t> jointIndices
struct dnac::RawBlendShapeTarget

Public Functions

inline explicit RawBlendShapeTarget(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

RawVector3Vector deltas
DynArray<std::uint32_t> vertexIndices
std::uint16_t blendShapeChannelIndex
struct dnac::RawMesh

Public Functions

inline explicit RawMesh(MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

terse::ArchiveOffset<std::uint32_t> offset
RawVector3Vector positions
RawTextureCoordinateVector textureCoordinates
RawVector3Vector normals
RawVertexLayoutVector layouts
Vector<RawFace> faces
std::uint16_t maximumInfluencePerVertex
Vector<RawVertexSkinWeights> skinWeights
Vector<RawBlendShapeTarget> blendShapeTargets
terse::ArchiveOffset<std::uint32_t>::Proxy marker
struct dnac::RawGeometry

Public Functions

inline RawGeometry(terse::ArchiveOffset<std::uint32_t> &markerTarget, MemoryResource *memRes)
template<class Archive>
inline void serialize(Archive &archive)

Public Members

terse::ArchiveOffset<std::uint32_t>::Proxy marker
Vector<RawMesh> meshes
struct dnac::DNA

Public Functions

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

Public Members

MemoryResource *memRes
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'}}
enum class dnac::VectorOperation

Values:

enumerator Interpolate
enumerator Add
enumerator Subtract
enumerator Multiply