Atoms Crowd  7.0.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 }
Animation clip.
Definition: AnimationClip.h:221
Animation Clip Operator.
Definition: AnimationClipOperator.h:24
AnimationClipOperator()
Constructor.
virtual void process(Atoms::AnimationClip &clip)
process
virtual AtomsCore::MapMetadata & attributeProperties()
Returns the module attribute properties map.
Definition: AnimationClipOperator.h:38
virtual ~AnimationClipOperator()
Destructor.
virtual AtomsCore::MapMetadata & attributes()
Returns the module attributes map.
Definition: AnimationClipOperator.h:35
MapMetadata class.
Definition: MapMetadata.h:24
Base Metadata class.
Definition: Metadata.h:24
Atoms namespace.
Definition: Agent.h:29