mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-27 00:17:30 +01:00
0c6385cb92
Usually something like __IRR_SOME_GUARD_INCLUDED__ replaced by IRR_SOME_GUARD_INCLUDED. Removing underscores at the end wasn't necessary, but more symmetric (probably the reason they got added there as well). While this touches every header it shouldn't affect users (I hope). Also a few whitespace changes to unify whitespace usage a bit. And a bunch of spelling fixes in comments. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6252 dfc29bdd-3216-0410-991c-e03cc46cb475
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
// Copyright (C) 2014 Lauri Kasanen
|
|
// This file is part of the "Irrlicht Engine".
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
// Modified version with rigging/skinning support
|
|
|
|
#ifndef IRR_B3D_MESH_WRITER_H_INCLUDED
|
|
#define IRR_B3D_MESH_WRITER_H_INCLUDED
|
|
|
|
#include "IMeshWriter.h"
|
|
#include "IWriteFile.h"
|
|
#include "SB3DStructs.h"
|
|
#include "ISkinnedMesh.h"
|
|
|
|
|
|
|
|
namespace irr
|
|
{
|
|
namespace scene
|
|
{
|
|
|
|
//! class to write B3D mesh files
|
|
class CB3DMeshWriter : public IMeshWriter
|
|
{
|
|
public:
|
|
|
|
CB3DMeshWriter();
|
|
|
|
//! Returns the type of the mesh writer
|
|
virtual EMESH_WRITER_TYPE getType() const IRR_OVERRIDE;
|
|
|
|
//! writes a mesh
|
|
virtual bool writeMesh(io::IWriteFile* file, scene::IMesh* mesh, s32 flags=EMWF_NONE) IRR_OVERRIDE;
|
|
|
|
private:
|
|
void writeJointChunk(io::IWriteFile* file, ISkinnedMesh* mesh , ISkinnedMesh::SJoint* joint, f32 animationSpeedMultiplier);
|
|
u32 getJointChunkSize(const ISkinnedMesh* mesh, ISkinnedMesh::SJoint* joint);
|
|
core::array<ISkinnedMesh::SJoint*> getRootJoints(const ISkinnedMesh* mesh);
|
|
|
|
u32 getUVlayerCount(IMesh *mesh);
|
|
ISkinnedMesh* getSkinned (IMesh *mesh);
|
|
|
|
inline void writeVector2(io::IWriteFile* file, const core::vector2df& vec);
|
|
inline void writeVector3(io::IWriteFile* file, const core::vector3df& vec);
|
|
inline void writeQuaternion(io::IWriteFile* file, const core::quaternion& quat);
|
|
inline void writeColor(io::IWriteFile* file, const video::SColorf& color);
|
|
void writeSizeFrom(io::IWriteFile* file, const u32 from, const u32 adressToWrite);
|
|
};
|
|
|
|
} // end namespace
|
|
} // end namespace
|
|
|
|
#endif
|