BlenderLoader: Replace ScopeGuard with std::unique_ptr
parent
af8e297e0f
commit
f35d5952dc
|
@ -1148,7 +1148,7 @@ void BlenderImporter::ConvertMesh(const Scene& /*in*/, const Object* /*obj*/, co
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
aiCamera* BlenderImporter::ConvertCamera(const Scene& /*in*/, const Object* obj, const Camera* cam, ConversionData& /*conv_data*/)
|
aiCamera* BlenderImporter::ConvertCamera(const Scene& /*in*/, const Object* obj, const Camera* cam, ConversionData& /*conv_data*/)
|
||||||
{
|
{
|
||||||
ScopeGuard<aiCamera> out(new aiCamera());
|
std::unique_ptr<aiCamera> out(new aiCamera());
|
||||||
out->mName = obj->id.name+2;
|
out->mName = obj->id.name+2;
|
||||||
out->mPosition = aiVector3D(0.f, 0.f, 0.f);
|
out->mPosition = aiVector3D(0.f, 0.f, 0.f);
|
||||||
out->mUp = aiVector3D(0.f, 1.f, 0.f);
|
out->mUp = aiVector3D(0.f, 1.f, 0.f);
|
||||||
|
@ -1159,13 +1159,13 @@ aiCamera* BlenderImporter::ConvertCamera(const Scene& /*in*/, const Object* obj,
|
||||||
out->mClipPlaneNear = cam->clipsta;
|
out->mClipPlaneNear = cam->clipsta;
|
||||||
out->mClipPlaneFar = cam->clipend;
|
out->mClipPlaneFar = cam->clipend;
|
||||||
|
|
||||||
return out.dismiss();
|
return out.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
aiLight* BlenderImporter::ConvertLight(const Scene& /*in*/, const Object* obj, const Lamp* lamp, ConversionData& /*conv_data*/)
|
aiLight* BlenderImporter::ConvertLight(const Scene& /*in*/, const Object* obj, const Lamp* lamp, ConversionData& /*conv_data*/)
|
||||||
{
|
{
|
||||||
ScopeGuard<aiLight> out(new aiLight());
|
std::unique_ptr<aiLight> out(new aiLight());
|
||||||
out->mName = obj->id.name+2;
|
out->mName = obj->id.name+2;
|
||||||
|
|
||||||
switch (lamp->type)
|
switch (lamp->type)
|
||||||
|
@ -1203,7 +1203,7 @@ aiLight* BlenderImporter::ConvertLight(const Scene& /*in*/, const Object* obj, c
|
||||||
out->mColorAmbient = aiColor3D(lamp->r, lamp->g, lamp->b) * lamp->energy;
|
out->mColorAmbient = aiColor3D(lamp->r, lamp->g, lamp->b) * lamp->energy;
|
||||||
out->mColorSpecular = aiColor3D(lamp->r, lamp->g, lamp->b) * lamp->energy;
|
out->mColorSpecular = aiColor3D(lamp->r, lamp->g, lamp->b) * lamp->energy;
|
||||||
out->mColorDiffuse = aiColor3D(lamp->r, lamp->g, lamp->b) * lamp->energy;
|
out->mColorDiffuse = aiColor3D(lamp->r, lamp->g, lamp->b) * lamp->energy;
|
||||||
return out.dismiss();
|
return out.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
@ -1221,7 +1221,7 @@ aiNode* BlenderImporter::ConvertNode(const Scene& in, const Object* obj, Convers
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
|
|
||||||
ScopeGuard<aiNode> node(new aiNode(obj->id.name+2)); // skip over the name prefix 'OB'
|
std::unique_ptr<aiNode> node(new aiNode(obj->id.name+2)); // skip over the name prefix 'OB'
|
||||||
if (obj->data) {
|
if (obj->data) {
|
||||||
switch (obj->type)
|
switch (obj->type)
|
||||||
{
|
{
|
||||||
|
@ -1305,14 +1305,14 @@ aiNode* BlenderImporter::ConvertNode(const Scene& in, const Object* obj, Convers
|
||||||
aiNode** nd = node->mChildren = new aiNode*[node->mNumChildren]();
|
aiNode** nd = node->mChildren = new aiNode*[node->mNumChildren]();
|
||||||
for (const Object* nobj :children) {
|
for (const Object* nobj :children) {
|
||||||
*nd = ConvertNode(in,nobj,conv_data,node->mTransformation * parentTransform);
|
*nd = ConvertNode(in,nobj,conv_data,node->mTransformation * parentTransform);
|
||||||
(*nd++)->mParent = node;
|
(*nd++)->mParent = node.get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply modifiers
|
// apply modifiers
|
||||||
modifier_cache->ApplyModifiers(*node,conv_data,in,*obj);
|
modifier_cache->ApplyModifiers(*node,conv_data,in,*obj);
|
||||||
|
|
||||||
return node.dismiss();
|
return node.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // ASSIMP_BUILD_NO_BLEND_IMPORTER
|
#endif // ASSIMP_BUILD_NO_BLEND_IMPORTER
|
||||||
|
|
Loading…
Reference in New Issue