Atoms Crowd  4.1.0
AnimationClipOperator.h
1 #pragma once
2 // ===========================================================================
3 // Copyright (c) 2015 Toolchefs Ltd. All rights reserved.
4 //
5 // Use of this software is subject to the terms of the Toolchefs license
6 // agreement provided at the time of installation or download, or which
7 // otherwise accompanies this software in either electronic or hard copy form.
8 // ===========================================================================
9 
10 #include <Atoms/Globals.h>
11 #include <AtomsCore/Metadata/MapMetadata.h>
12 #include <AtomsCore/Metadata/MetadataImpl.h>
13 #include <AtomsCore/Skeleton.h>
14 #include <Atoms/AnimationClip.h>
15 #include <vector>
16 
17 namespace Atoms
18 {
19 
21 
23  class ATOMS_EXPORT AnimationClipOperator
24  {
25 
26  public:
27 
30 
33 
35  virtual AtomsCore::MapMetadata& attributes() { return m_attributes; }
36 
38  virtual AtomsCore::MapMetadata& attributeProperties() { return m_attributeProperties; }
39 
41 
43  virtual void process(Atoms::AnimationClip &clip);
44 
45 
46  void addAttribute(const std::string& attributeName, AtomsPtr<AtomsCore::Metadata>& metadata);
47  void addAttribute(const std::string& attributeName, AtomsCore::Metadata* metadata);
48  void addAttributeProperty(const std::string& attributeName, const std::string& propertyName, AtomsPtr<AtomsCore::Metadata>& metadata);
49  void addAttributeProperty(const std::string& attributeName, const std::string& propertyName, AtomsCore::Metadata* metadata);
50 
51  protected:
52 
53  AtomsCore::MapMetadata m_attributes;
54  AtomsCore::MapMetadata m_attributeProperties;
55 
56  };
57 
58 }
Atoms::AnimationClipOperator::process
virtual void process(Atoms::AnimationClip &clip)
process
Atoms::AnimationClipOperator::~AnimationClipOperator
virtual ~AnimationClipOperator()
Destructor.
AtomsCore::Metadata
Base Metadata class.
Definition: Metadata.h:24
Atoms::AnimationClipOperator::AnimationClipOperator
AnimationClipOperator()
Constructor.
Atoms::AnimationClipOperator
Animation Clip Operator.
Definition: AnimationClipOperator.h:24
Atoms
Atoms namespace.
Definition: Agent.h:28
AtomsCore::MapMetadata
MapMetadata class.
Definition: MapMetadata.h:24
Atoms::AnimationClipOperator::attributes
virtual AtomsCore::MapMetadata & attributes()
Returns the module attributes map.
Definition: AnimationClipOperator.h:35
Atoms::AnimationClipOperator::attributeProperties
virtual AtomsCore::MapMetadata & attributeProperties()
Returns the module attribute properties map.
Definition: AnimationClipOperator.h:38
Atoms::AnimationClip
Animation clip.
Definition: AnimationClip.h:218