diff options
Diffstat (limited to '3rdparty/assimp/code/BVHLoader.h')
-rw-r--r-- | 3rdparty/assimp/code/BVHLoader.h | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/3rdparty/assimp/code/BVHLoader.h b/3rdparty/assimp/code/BVHLoader.h deleted file mode 100644 index 74800a18..00000000 --- a/3rdparty/assimp/code/BVHLoader.h +++ /dev/null @@ -1,173 +0,0 @@ -/** Defines the BHV motion capturing loader class */ - -/* -Open Asset Import Library (ASSIMP) ----------------------------------------------------------------------- - -Copyright (c) 2006-2010, ASSIMP Development Team -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: - -* Redistributions of source code must retain the above -copyright notice, this list of conditions and the -following disclaimer. - -* Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the -following disclaimer in the documentation and/or other -materials provided with the distribution. - -* Neither the name of the ASSIMP team, nor the names of its -contributors may be used to endorse or promote products -derived from this software without specific prior -written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- -*/ - -/** @file BVHLoader.h - * @brief Biovision BVH import - */ - -#ifndef AI_BVHLOADER_H_INC -#define AI_BVHLOADER_H_INC - -#include "BaseImporter.h" - -namespace Assimp -{ - -// -------------------------------------------------------------------------------- -/** Loader class to read Motion Capturing data from a .bvh file. - * - * This format only contains a hierarchy of joints and a series of keyframes for - * the hierarchy. It contains no actual mesh data, but we generate a dummy mesh - * inside the loader just to be able to see something. -*/ -class BVHLoader : public BaseImporter -{ - friend class Importer; - - /** Possible animation channels for which the motion data holds the values */ - enum ChannelType - { - Channel_PositionX, - Channel_PositionY, - Channel_PositionZ, - Channel_RotationX, - Channel_RotationY, - Channel_RotationZ - }; - - /** Collected list of node. Will be bones of the dummy mesh some day, addressed by their array index */ - struct Node - { - const aiNode* mNode; - std::vector<ChannelType> mChannels; - std::vector<float> mChannelValues; // motion data values for that node. Of size NumChannels * NumFrames - - Node() { } - Node( const aiNode* pNode) : mNode( pNode) { } - }; - -protected: - /** Constructor to be privately used by Importer */ - BVHLoader(); - - /** Destructor, private as well */ - ~BVHLoader(); - -public: - /** Returns whether the class can handle the format of the given file. - * See BaseImporter::CanRead() for details. */ - bool CanRead( const std::string& pFile, IOSystem* pIOHandler, bool cs) const; - -protected: - /** Called by Importer::GetExtensionList() for each loaded importer. - * See BaseImporter::GetExtensionList() for details - */ - void GetExtensionList(std::set<std::string>& extensions) - { - extensions.insert("bvh"); - } - - /** Imports the given file into the given scene structure. - * See BaseImporter::InternReadFile() for details - */ - void InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler); - -protected: - /** Reads the file */ - void ReadStructure( aiScene* pScene); - - /** Reads the hierarchy */ - void ReadHierarchy( aiScene* pScene); - - /** Reads a node and recursively its childs and returns the created node. */ - aiNode* ReadNode(); - - /** Reads an end node and returns the created node. */ - aiNode* ReadEndSite( const std::string& pParentName); - - /** Reads a node offset for the given node */ - void ReadNodeOffset( aiNode* pNode); - - /** Reads the animation channels into the given node */ - void ReadNodeChannels( BVHLoader::Node& pNode); - - /** Reads the motion data */ - void ReadMotion( aiScene* pScene); - - /** Retrieves the next token */ - std::string GetNextToken(); - - /** Reads the next token as a float */ - float GetNextTokenAsFloat(); - - /** Aborts the file reading with an exception */ - void ThrowException( const std::string& pError); - - /** Constructs an animation for the motion data and stores it in the given scene */ - void CreateAnimation( aiScene* pScene); - -protected: - /** Filename, for a verbose error message */ - std::string mFileName; - - /** Buffer to hold the loaded file */ - std::vector<char> mBuffer; - - /** Next char to read from the buffer */ - std::vector<char>::const_iterator mReader; - - /** Current line, for error messages */ - unsigned int mLine; - - /** Collected list of nodes. Will be bones of the dummy mesh some day, addressed by their array index. - * Also contain the motion data for the node's channels - */ - std::vector<Node> mNodes; - - /** basic Animation parameters */ - float mAnimTickDuration; - unsigned int mAnimNumFrames; -}; - -} // end of namespace Assimp - -#endif // AI_BVHLOADER_H_INC |