moved files around
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
Copyright (C) 2005-2006 Feeling Software Inc.
|
||||
MIT License: http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "FCDocument/FCDocument.h"
|
||||
#include "FCDocument/FCDEntity.h"
|
||||
#include "FCDocument/FCDPhysicsModel.h"
|
||||
#include "FCDocument/FCDPhysicsModelInstance.h"
|
||||
#include "FCDocument/FCDPhysicsRigidConstraint.h"
|
||||
#include "FCDocument/FCDPhysicsRigidConstraintInstance.h"
|
||||
#include "FUtils/FUDaeParser.h"
|
||||
#include "FUtils/FUDaeWriter.h"
|
||||
using namespace FUDaeParser;
|
||||
using namespace FUDaeWriter;
|
||||
|
||||
FCDPhysicsRigidConstraintInstance::FCDPhysicsRigidConstraintInstance(FCDocument* document, FCDEntity* _parent) : FCDEntityInstance(document, NULL)
|
||||
{
|
||||
if (_parent->GetType() == FCDEntity::PHYSICS_MODEL)
|
||||
parent = (FCDPhysicsModel*)_parent;
|
||||
|
||||
rigidConstraint = NULL;
|
||||
SetClassName("FCDPhysicsRigidConstraintInstance");
|
||||
}
|
||||
|
||||
FCDPhysicsRigidConstraintInstance::~FCDPhysicsRigidConstraintInstance()
|
||||
{
|
||||
parent = NULL;
|
||||
rigidConstraint = NULL;
|
||||
}
|
||||
|
||||
|
||||
// Load the geometry instance from the COLLADA document
|
||||
FUStatus FCDPhysicsRigidConstraintInstance::LoadFromXML(xmlNode* instanceNode)
|
||||
{
|
||||
FUStatus status = FCDEntityInstance::LoadFromXML(instanceNode);
|
||||
if (!status) return status;
|
||||
|
||||
// Check for the expected instantiation node type
|
||||
if (!IsEquivalent(instanceNode->name, DAE_INSTANCE_RIGID_CONSTRAINT_ELEMENT))
|
||||
{
|
||||
return status.Fail(FS("Unknown element for instantiation of entity: ") + TO_FSTRING(entity->GetDaeId()), instanceNode->line);
|
||||
}
|
||||
if (parent == NULL)
|
||||
{
|
||||
return status.Fail(FS("No Physics Model parent for rigid constraint instantiation"), instanceNode->line);
|
||||
}
|
||||
|
||||
string physicsRigidConstraintSid = ReadNodeProperty(instanceNode, DAE_CONSTRAINT_ATTRIBUTE);
|
||||
entity = rigidConstraint = parent->FindRigidConstraintFromSid(physicsRigidConstraintSid);
|
||||
if(!rigidConstraint)
|
||||
{
|
||||
return status.Fail(FS("Couldn't find rigid constraint for instantiation"), instanceNode->line);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
// Write out the instantiation information to the xml node tree
|
||||
xmlNode* FCDPhysicsRigidConstraintInstance::WriteToXML(xmlNode* parentNode) const
|
||||
{
|
||||
xmlNode* instanceNode = FCDEntityInstance::WriteToXML(parentNode);
|
||||
|
||||
//TODO
|
||||
|
||||
return instanceNode;
|
||||
}
|
||||
Reference in New Issue
Block a user