| 123456789101112131415161718192021222324252627282930313233343536 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "Animation/BsSkeletonMask.h"
- #include "Animation/BsSkeleton.h"
- namespace bs
- {
- SkeletonMask::SkeletonMask(UINT32 numBones)
- :mIsDisabled(numBones)
- { }
- bool SkeletonMask::isEnabled(UINT32 boneIdx) const
- {
- if (boneIdx >= (UINT32)mIsDisabled.size())
- return true;
- return !mIsDisabled[boneIdx];
- }
- SkeletonMaskBuilder::SkeletonMaskBuilder(const SPtr<Skeleton>& skeleton)
- :mSkeleton(skeleton), mMask(skeleton->getNumBones())
- { }
- void SkeletonMaskBuilder::setBoneState(const String& name, bool enabled)
- {
- UINT32 numBones = mSkeleton->getNumBones();
- for(UINT32 i = 0; i < numBones; i++)
- {
- if(mSkeleton->getBoneInfo(i).name == name)
- {
- mMask.mIsDisabled[i] = !enabled;
- break;
- }
- }
- }
- }
|