diff --git a/obj/NiMultiTargetTransformController.cpp b/obj/NiMultiTargetTransformController.cpp index ba57b9c4b876be5ad7db5013324f239d5bdcda97..c17ca32ee0f609cbd09ec44b48a8bb2c261190ad 100644 --- a/obj/NiMultiTargetTransformController.cpp +++ b/obj/NiMultiTargetTransformController.cpp @@ -3,6 +3,7 @@ All rights reserved. Please see niflib.h for licence. */ #include "NiMultiTargetTransformController.h" #include "NiNode.h" +#include <algorithm> using namespace Niflib; //Definition of TYPE constant @@ -36,3 +37,21 @@ const Type & NiMultiTargetTransformController::GetType() const { return TYPE; }; +vector<NiNodeRef> NiMultiTargetTransformController::GetExtraTargets() const { + vector<NiNodeRef> retval; + size_t n = extraTargets.size(); + retval.reserve(n); + for (size_t i=0; i<n; ++i) + retval.push_back( NiNodeRef(extraTargets[i]) ); + return retval; +} + +void NiMultiTargetTransformController::SetExtraTargets( const vector<NiNodeRef>& value ) { + extraTargets.clear(); + size_t n = value.size(); + extraTargets.reserve(n); + for (size_t i=0; i<n; ++i) + extraTargets.push_back( value[i].Ptr() ); + extraTargets.erase(std::remove(extraTargets.begin(), extraTargets.end(), (NiNode*)NULL), extraTargets.end()); +} + diff --git a/obj/NiMultiTargetTransformController.h b/obj/NiMultiTargetTransformController.h index 69e5ccbf3f88dffb962ff4859a81f097dc185a44..67303f014c1416afadd0a5a5d60ba0626f534e70 100644 --- a/obj/NiMultiTargetTransformController.h +++ b/obj/NiMultiTargetTransformController.h @@ -5,6 +5,7 @@ All rights reserved. Please see niflib.h for licence. */ #define _NIMULTITARGETTRANSFORMCONTROLLER_H_ #include "NiTimeController.h" + namespace Niflib { // Forward define of referenced blocks @@ -35,6 +36,12 @@ public: virtual list<NiObjectRef> GetRefs() const; virtual const Type & GetType() const; + /*! + * NiNode Targets to be controlled. + */ + vector<Ref<NiNode> > GetExtraTargets() const; + void SetExtraTargets( const vector< Ref<NiNode> >& value ); + protected: NI_MULTI_TARGET_TRANSFORM_CONTROLLER_MEMBERS STANDARD_INTERNAL_METHODS