moved files around
This commit is contained in:
62
Extras/FCollada/FCDocument/FCDTargetedEntity.cpp
Normal file
62
Extras/FCollada/FCDocument/FCDTargetedEntity.cpp
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
Copyright (C) 2005-2006 Feeling Software Inc.
|
||||
MIT License: http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
/*
|
||||
Based on the FS Import classes:
|
||||
Copyright (C) 2005-2006 Feeling Software Inc
|
||||
Copyright (C) 2005-2006 Autodesk Media Entertainment
|
||||
MIT License: http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "FCDocument/FCDTargetedEntity.h"
|
||||
#include "FCDocument/FCDSceneNode.h"
|
||||
|
||||
FCDTargetedEntity::FCDTargetedEntity(FCDocument* document, const char* className) : FCDEntity(document, className)
|
||||
{
|
||||
targetNode = NULL;
|
||||
}
|
||||
|
||||
FCDTargetedEntity::~FCDTargetedEntity()
|
||||
{
|
||||
targetNode = NULL;
|
||||
}
|
||||
|
||||
// Sets a new target
|
||||
void FCDTargetedEntity::SetTargetNode(FCDSceneNode* target)
|
||||
{
|
||||
if (targetNode != NULL)
|
||||
{
|
||||
targetNode->DecrementTargetCount();
|
||||
}
|
||||
|
||||
targetNode = target;
|
||||
|
||||
if (targetNode != NULL)
|
||||
{
|
||||
targetNode->IncrementTargetCount();
|
||||
}
|
||||
}
|
||||
|
||||
// Link this camera with its target, if there is one
|
||||
FUStatus FCDTargetedEntity::LinkTarget(FCDSceneNode* sceneRoot)
|
||||
{
|
||||
FUStatus status;
|
||||
if (targetId.empty()) return status;
|
||||
|
||||
if (targetId[0] == '#') targetId = targetId.substr(1);
|
||||
|
||||
if (sceneRoot == NULL)
|
||||
{
|
||||
return status.Fail(FS("Invalid parameter in call to FCDTargetEntity::LinkTarget."));
|
||||
}
|
||||
FCDSceneNode* target = (FCDSceneNode*) sceneRoot->FindDaeId(targetId);
|
||||
if (target == NULL)
|
||||
{
|
||||
return status.Fail(FS("Unable to find target scene node for object: ") + TO_FSTRING(GetDaeId()));
|
||||
}
|
||||
SetTargetNode(target);
|
||||
|
||||
return status;
|
||||
}
|
||||
Reference in New Issue
Block a user