File SkeletonSetup.cpp
File List > api > cppSDK > SDKBase > SkeletonSetup.cpp
Go to the documentation of this file
//Used for Wstring conversion
#include <locale>
#include <codecvt>
#include <string>
#include "ManusSDKTypes.h"
#include "ManusSDKTypeInitializers.h"
#include "ManusSDKExtendedTypes.h"
#include "ManusSDKExtendedTypeInitializers.h"
#include <vector>
#include "SkeletonSetup.hpp"
namespace ManusSDK
{
SkeletonSetup::SkeletonSetup()
{
info = new SkeletonSetupInfo();
nodes = std::vector<NodeSetup*>();
chains = std::vector<ChainSetup*>();
colliders = std::vector<ColliderSetup*>();
meshes = std::vector<MeshSetup*>();
}
SkeletonSetup::SkeletonSetup(const SkeletonSetupInfo& p_SetupInfo)
{
info = new SkeletonSetupInfo();
*info = p_SetupInfo;
nodes = std::vector<NodeSetup*>();
chains = std::vector<ChainSetup*>();
colliders = std::vector<ColliderSetup*>();
meshes = std::vector<MeshSetup*>();
}
SkeletonSetup::~SkeletonSetup()
{
delete info;
ClearNodes();
ClearChains();
ClearColliders();
ClearMeshes();
}
void SkeletonSetup::ClearNodes()
{
for (size_t i = 0; i < nodes.size(); i++)
{
delete nodes[i];
}
nodes.clear();
}
void SkeletonSetup::ClearChains()
{
for (size_t i = 0; i < chains.size(); i++)
{
delete chains[i];
}
chains.clear();
}
void SkeletonSetup::ClearColliders()
{
for (size_t i = 0; i < colliders.size(); i++)
{
delete colliders[i];
}
colliders.clear();
}
void SkeletonSetup::ClearMeshes()
{
for (size_t i = 0; i < meshes.size(); i++)
{
delete meshes[i];
}
meshes.clear();
}
// Mesh
MeshSetup::MeshSetup()
{
nodeID = 0;
expectedVertexCount = 0;
expectedTriangleCount = 0;
vertices = std::vector<Vertex*>();
triangles = std::vector<Triangle*>();
}
MeshSetup::MeshSetup(uint32_t p_NodeId)
{
nodeID = p_NodeId;
expectedVertexCount = 0;
expectedTriangleCount = 0;
vertices = std::vector<Vertex*>();
triangles = std::vector<Triangle*>();
}
MeshSetup::~MeshSetup()
{
ClearVertices();
ClearTriangles();
}
void MeshSetup::ClearVertices()
{
for (size_t i = 0; i < vertices.size(); i++)
{
delete vertices[i];
}
vertices.clear();
}
void MeshSetup::ClearTriangles()
{
for (size_t i = 0; i < triangles.size(); i++)
{
delete triangles[i];
}
triangles.clear();
}
} // namespace ManusSDK