Atoms Crowd  7.0.0
BaseAgentGroupExporter.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 <Atoms/AgentGroup.h>
13 #include <string>
14 #include <functional>
15 
16 namespace Atoms
17 {
19 
22  class ATOMS_EXPORT BaseAgentGroupExporter
23  {
24  public:
25 
27 
31  virtual const std::string& typeStr() const;
32 
33  static const std::string staticTypeString;
34 
37 
40 
42  /* Return a map metadata filled with default arguments
43  */
44  virtual AtomsPtr<AtomsCore::MapMetadata> defaultArguments() const;
45 
47 
50  virtual bool exportAgentGroups(const std::map<std::string, std::vector<AtomsPtr<Atoms::AgentGroup>>>& agentGroups, AtomsCore::MapMetadata* arguments, std::function<void(double)> setCurrentTimeFunc);
51  };
52 }
BaseAnimLoader class.
Definition: BaseAgentGroupExporter.h:23
virtual ~BaseAgentGroupExporter()
Virtual Destructor.
virtual bool exportAgentGroups(const std::map< std::string, std::vector< AtomsPtr< Atoms::AgentGroup >>> &agentGroups, AtomsCore::MapMetadata *arguments, std::function< void(double)> setCurrentTimeFunc)
export
virtual const std::string & typeStr() const
File extension name.
virtual AtomsPtr< AtomsCore::MapMetadata > defaultArguments() const
Return default arguments for this exporter.
BaseAgentGroupExporter()
Constructor.
MapMetadata class.
Definition: MapMetadata.h:24
Atoms namespace.
Definition: Agent.h:29