|
Atoms Crowd
4.1.0
|
11 #include <Atoms/Globals.h>
12 #include <Atoms/AgentGroup.h>
36 AtomsClothCache(
const std::string& cachePath,
const std::string& cacheName,
const std::vector<int>& agents);
44 bool openCache(
const std::string& cachePath,
const std::string& cacheName);
50 bool openCache(
const std::string& cachePath,
const std::string& cacheName,
const std::vector<int>& agents);
119 unsigned int agentId,
120 const std::string& meshName,
121 std::vector<AtomsCore::Vector3>& points,
122 std::vector<AtomsCore::Vector3>& normals
132 unsigned int agentId,
133 const std::string& meshName
148 void processPoints(std::vector<AtomsCore::Vector3>& outPoints, std::vector<
const std::vector<AtomsCore::Vector3>*> &inPoints,
const std::vector<double> &inputWeightVector)
const;
150 void processNormals(std::vector<AtomsCore::Vector3>& outNormals, std::vector<
const std::vector<AtomsCore::Vector3>*> &inNormals,
const std::vector<double> &inputWeightVector)
const;
161 void setAgentsToLoad(
const std::vector<int>& agents);
163 const std::string& cacheName()
const;
165 const std::string& cachePath()
const;
170 void readData(AtomsPtr<AtomsCore::MapMetadata>& data,
int frame,
int& m_currentFrame);
172 void readDataKeys(AtomsPtr<AtomsCore::MapMetadata>& data,
int frame, std::vector<std::string>& keys,
int& m_currentFrame);
180 AtomsPtr<AtomsCore::MapMetadata> m_prevFrameData;
183 AtomsPtr<AtomsCore::MapMetadata> m_currentFrameData;
186 AtomsPtr<AtomsCore::MapMetadata> m_nextFrameData;
188 std::vector<std::string> m_agentIdsToLoad;
191 std::string m_cachePath;
194 std::string m_cacheName;
size_t numAgents(double time) const
Gets the number of agents created.
bool hasAgentClothMesh(double time, unsigned int agentId, const std::string &meshName) const
Check if a mesh for an egent exist inside the cache.
int prevFrame() const
Get the previous frame.
int nextFrame() const
Get the next frame.
void loadAgentClothBoundingBox(double time, unsigned int agentId, AtomsCore::Box3 &box) const
Loads an agent bbox.
AtomsPtr< AtomsCore::MapMetadata > & prevFrameData()
Get the previous frame data.
bool openCache(const std::string &cachePath, const std::string &cacheName, const std::vector< int > &agents)
Opens a cache.
void loadAgentClothMeshBoundingBox(double time, unsigned int agentId, const std::string &meshName, AtomsCore::Box3 &box) const
Loads an agent bbox.
bool openCache(const std::string &cachePath, const std::string &cacheName)
Opens a cache.
AtomsPtr< AtomsCore::MapMetadata > & frameData()
Get the current frame data.
AtomsClothCache(const std::string &cachePath, const std::string &cacheName, const std::vector< int > &agents)
Constructor.
void loadPrevFrame(int frame)
Loads a cache frame and store in the previous frame (usually used for the previous frame during the m...
AtomsMath::Box3 Box3
Bounding box class.
Definition: AtomsMath.h:74
void loadFrame(int frame)
Loads a cache frame and stores the current frame data.
AtomsClothCache(const std::string &cachePath, const std::string &cacheName)
Constructor.
int endFrame() const
Get the end frame.
void loadBoundingBox(double time, AtomsCore::Box3 &box) const
Loads bbox.
Atoms namespace.
Definition: Agent.h:28
void loadNextFrame(int frame)
Loads a cache frame and stores the next frame data (usually used for the next frame during the motion...
std::vector< std::string > agentClothMeshNames(double time, unsigned int agentId) const
Gets agent cloth mesh names.
std::string getAgentClothMeshStackOrder(double time, unsigned int agentId, const std::string &meshName) const
Get cloth mesh stack order.
AtomsClothCache()
Constructor.
void clear()
Clear all the loaded frames.
std::vector< int > agentIds(double time) const
Gets agent ids.
void loadAgentClothMesh(double time, unsigned int agentId, const std::string &meshName, std::vector< AtomsCore::Vector3 > &points, std::vector< AtomsCore::Vector3 > &normals) const
Loads all data for an agent.
Definition: AtomsClothCache.h:17
AtomsPtr< AtomsCore::MapMetadata > & nextFrameData()
Get the next frame data.
int currentFrame() const
Get the current frame.
~AtomsClothCache()
Destructor.
int startFrame() const
Get the start frame.
void processPoints(std::vector< AtomsCore::Vector3 > &outPoints, std::vector< const std::vector< AtomsCore::Vector3 > * > &inPoints, const std::vector< double > &inputWeightVector) const
Blends multiple mapmetadata.