summaryrefslogtreecommitdiff
path: root/src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-04-16 11:55:54 -0500
committersanine <sanine.not@pm.me>2022-04-16 11:55:54 -0500
commit8fb7916a0d0cb007a4c3a4e6a31af58765268ca3 (patch)
tree52b5524a94a5b04e17a1fd7f8aca988ab6d0c75f /src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h
parentdb81b925d776103326128bf629cbdda576a223e7 (diff)
delete src/mesh/assimp-master
Diffstat (limited to 'src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h')
-rw-r--r--src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h702
1 files changed, 0 insertions, 702 deletions
diff --git a/src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h b/src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h
deleted file mode 100644
index dc10980..0000000
--- a/src/mesh/assimp-master/code/AssetLib/3DS/3DSHelper.h
+++ /dev/null
@@ -1,702 +0,0 @@
-/*
-Open Asset Import Library (assimp)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp 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 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 Defines helper data structures for the import of 3DS files */
-
-#ifndef AI_3DSFILEHELPER_H_INC
-#define AI_3DSFILEHELPER_H_INC
-
-#include <assimp/SmoothingGroups.h>
-#include <assimp/SpatialSort.h>
-#include <assimp/StringUtils.h>
-#include <assimp/anim.h>
-#include <assimp/camera.h>
-#include <assimp/light.h>
-#include <assimp/material.h>
-#include <assimp/qnan.h>
-#include <cstdio> //sprintf
-
-namespace Assimp {
-namespace D3DS {
-
-#include <assimp/Compiler/pushpack1.h>
-
-// ---------------------------------------------------------------------------
-/** Defines chunks and data structures.
-*/
-namespace Discreet3DS {
-
- //! data structure for a single chunk in a .3ds file
- struct Chunk {
- uint16_t Flag;
- uint32_t Size;
- } PACK_STRUCT;
-
- //! Used for shading field in material3ds structure
- //! From AutoDesk 3ds SDK
- typedef enum {
- // translated to gouraud shading with wireframe active
- Wire = 0x0,
-
- // if this material is set, no vertex normals will
- // be calculated for the model. Face normals + gouraud
- Flat = 0x1,
-
- // standard gouraud shading
- Gouraud = 0x2,
-
- // phong shading
- Phong = 0x3,
-
- // cooktorrance or anistropic phong shading ...
- // the exact meaning is unknown, if you know it
- // feel free to tell me ;-)
- Metal = 0x4,
-
- // required by the ASE loader
- Blinn = 0x5
- } shadetype3ds;
-
- // Flags for animated keys
- enum {
- KEY_USE_TENS = 0x1,
- KEY_USE_CONT = 0x2,
- KEY_USE_BIAS = 0x4,
- KEY_USE_EASE_TO = 0x8,
- KEY_USE_EASE_FROM = 0x10
- };
-
- enum {
-
- // ********************************************************************
- // Basic chunks which can be found everywhere in the file
- CHUNK_VERSION = 0x0002,
- CHUNK_RGBF = 0x0010, // float4 R; float4 G; float4 B
- CHUNK_RGBB = 0x0011, // int1 R; int1 G; int B
-
- // Linear color values (gamma = 2.2?)
- CHUNK_LINRGBF = 0x0013, // float4 R; float4 G; float4 B
- CHUNK_LINRGBB = 0x0012, // int1 R; int1 G; int B
-
- CHUNK_PERCENTW = 0x0030, // int2 percentage
- CHUNK_PERCENTF = 0x0031, // float4 percentage
- CHUNK_PERCENTD = 0x0032, // float8 percentage
- // ********************************************************************
-
- // Prj master chunk
- CHUNK_PRJ = 0xC23D,
-
- // MDLI master chunk
- CHUNK_MLI = 0x3DAA,
-
- // Primary main chunk of the .3ds file
- CHUNK_MAIN = 0x4D4D,
-
- // Mesh main chunk
- CHUNK_OBJMESH = 0x3D3D,
-
- // Specifies the background color of the .3ds file
- // This is passed through the material system for
- // viewing purposes.
- CHUNK_BKGCOLOR = 0x1200,
-
- // Specifies the ambient base color of the scene.
- // This is added to all materials in the file
- CHUNK_AMBCOLOR = 0x2100,
-
- // Specifies the background image for the whole scene
- // This value is passed through the material system
- // to the viewer
- CHUNK_BIT_MAP = 0x1100,
- CHUNK_BIT_MAP_EXISTS = 0x1101,
-
- // ********************************************************************
- // Viewport related stuff. Ignored
- CHUNK_DEFAULT_VIEW = 0x3000,
- CHUNK_VIEW_TOP = 0x3010,
- CHUNK_VIEW_BOTTOM = 0x3020,
- CHUNK_VIEW_LEFT = 0x3030,
- CHUNK_VIEW_RIGHT = 0x3040,
- CHUNK_VIEW_FRONT = 0x3050,
- CHUNK_VIEW_BACK = 0x3060,
- CHUNK_VIEW_USER = 0x3070,
- CHUNK_VIEW_CAMERA = 0x3080,
- // ********************************************************************
-
- // Mesh chunks
- CHUNK_OBJBLOCK = 0x4000,
- CHUNK_TRIMESH = 0x4100,
- CHUNK_VERTLIST = 0x4110,
- CHUNK_VERTFLAGS = 0x4111,
- CHUNK_FACELIST = 0x4120,
- CHUNK_FACEMAT = 0x4130,
- CHUNK_MAPLIST = 0x4140,
- CHUNK_SMOOLIST = 0x4150,
- CHUNK_TRMATRIX = 0x4160,
- CHUNK_MESHCOLOR = 0x4165,
- CHUNK_TXTINFO = 0x4170,
- CHUNK_LIGHT = 0x4600,
- CHUNK_CAMERA = 0x4700,
- CHUNK_HIERARCHY = 0x4F00,
-
- // Specifies the global scaling factor. This is applied
- // to the root node's transformation matrix
- CHUNK_MASTER_SCALE = 0x0100,
-
- // ********************************************************************
- // Material chunks
- CHUNK_MAT_MATERIAL = 0xAFFF,
-
- // asciiz containing the name of the material
- CHUNK_MAT_MATNAME = 0xA000,
- CHUNK_MAT_AMBIENT = 0xA010, // followed by color chunk
- CHUNK_MAT_DIFFUSE = 0xA020, // followed by color chunk
- CHUNK_MAT_SPECULAR = 0xA030, // followed by color chunk
-
- // Specifies the shininess of the material
- // followed by percentage chunk
- CHUNK_MAT_SHININESS = 0xA040,
- CHUNK_MAT_SHININESS_PERCENT = 0xA041,
-
- // Specifies the shading mode to be used
- // followed by a short
- CHUNK_MAT_SHADING = 0xA100,
-
- // NOTE: Emissive color (self illumination) seems not
- // to be a color but a single value, type is unknown.
- // Make the parser accept both of them.
- // followed by percentage chunk (?)
- CHUNK_MAT_SELF_ILLUM = 0xA080,
-
- // Always followed by percentage chunk (?)
- CHUNK_MAT_SELF_ILPCT = 0xA084,
-
- // Always followed by percentage chunk
- CHUNK_MAT_TRANSPARENCY = 0xA050,
-
- // Diffuse texture channel 0
- CHUNK_MAT_TEXTURE = 0xA200,
-
- // Contains opacity information for each texel
- CHUNK_MAT_OPACMAP = 0xA210,
-
- // Contains a reflection map to be used to reflect
- // the environment. This is partially supported.
- CHUNK_MAT_REFLMAP = 0xA220,
-
- // Self Illumination map (emissive colors)
- CHUNK_MAT_SELFIMAP = 0xA33d,
-
- // Bumpmap. Not specified whether it is a heightmap
- // or a normal map. Assme it is a heightmap since
- // artist normally prefer this format.
- CHUNK_MAT_BUMPMAP = 0xA230,
-
- // Specular map. Seems to influence the specular color
- CHUNK_MAT_SPECMAP = 0xA204,
-
- // Holds shininess data.
- CHUNK_MAT_MAT_SHINMAP = 0xA33C,
-
- // Scaling in U/V direction.
- // (need to gen separate UV coordinate set
- // and do this by hand)
- CHUNK_MAT_MAP_USCALE = 0xA354,
- CHUNK_MAT_MAP_VSCALE = 0xA356,
-
- // Translation in U/V direction.
- // (need to gen separate UV coordinate set
- // and do this by hand)
- CHUNK_MAT_MAP_UOFFSET = 0xA358,
- CHUNK_MAT_MAP_VOFFSET = 0xA35a,
-
- // UV-coordinates rotation around the z-axis
- // Assumed to be in radians.
- CHUNK_MAT_MAP_ANG = 0xA35C,
-
- // Tiling flags for 3DS files
- CHUNK_MAT_MAP_TILING = 0xa351,
-
- // Specifies the file name of a texture
- CHUNK_MAPFILE = 0xA300,
-
- // Specifies whether a material requires two-sided rendering
- CHUNK_MAT_TWO_SIDE = 0xA081,
- // ********************************************************************
-
- // Main keyframer chunk. Contains translation/rotation/scaling data
- CHUNK_KEYFRAMER = 0xB000,
-
- // Supported sub chunks
- CHUNK_TRACKINFO = 0xB002,
- CHUNK_TRACKOBJNAME = 0xB010,
- CHUNK_TRACKDUMMYOBJNAME = 0xB011,
- CHUNK_TRACKPIVOT = 0xB013,
- CHUNK_TRACKPOS = 0xB020,
- CHUNK_TRACKROTATE = 0xB021,
- CHUNK_TRACKSCALE = 0xB022,
-
- // ********************************************************************
- // Keyframes for various other stuff in the file
- // Partially ignored
- CHUNK_AMBIENTKEY = 0xB001,
- CHUNK_TRACKMORPH = 0xB026,
- CHUNK_TRACKHIDE = 0xB029,
- CHUNK_OBJNUMBER = 0xB030,
- CHUNK_TRACKCAMERA = 0xB003,
- CHUNK_TRACKFOV = 0xB023,
- CHUNK_TRACKROLL = 0xB024,
- CHUNK_TRACKCAMTGT = 0xB004,
- CHUNK_TRACKLIGHT = 0xB005,
- CHUNK_TRACKLIGTGT = 0xB006,
- CHUNK_TRACKSPOTL = 0xB007,
- CHUNK_FRAMES = 0xB008,
- // ********************************************************************
-
- // light sub-chunks
- CHUNK_DL_OFF = 0x4620,
- CHUNK_DL_OUTER_RANGE = 0x465A,
- CHUNK_DL_INNER_RANGE = 0x4659,
- CHUNK_DL_MULTIPLIER = 0x465B,
- CHUNK_DL_EXCLUDE = 0x4654,
- CHUNK_DL_ATTENUATE = 0x4625,
- CHUNK_DL_SPOTLIGHT = 0x4610,
-
- // camera sub-chunks
- CHUNK_CAM_RANGES = 0x4720
- };
-}
-
-// ---------------------------------------------------------------------------
-/** Helper structure representing a 3ds mesh face */
-struct Face : public FaceWithSmoothingGroup {
-};
-
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable : 4315)
-#endif // _MSC_VER
-
-// ---------------------------------------------------------------------------
-/** Helper structure representing a texture */
-struct Texture {
- //! Default constructor
- Texture() AI_NO_EXCEPT
- : mTextureBlend(0.0f),
- mMapName(),
- mOffsetU(0.0),
- mOffsetV(0.0),
- mScaleU(1.0),
- mScaleV(1.0),
- mRotation(0.0),
- mMapMode(aiTextureMapMode_Wrap),
- bPrivate(),
- iUVSrc(0) {
- mTextureBlend = get_qnan();
- }
-
- Texture(const Texture &other) :
- mTextureBlend(other.mTextureBlend),
- mMapName(other.mMapName),
- mOffsetU(other.mOffsetU),
- mOffsetV(other.mOffsetV),
- mScaleU(other.mScaleU),
- mScaleV(other.mScaleV),
- mRotation(other.mRotation),
- mMapMode(other.mMapMode),
- bPrivate(other.bPrivate),
- iUVSrc(other.iUVSrc) {
- // empty
- }
-
- Texture(Texture &&other) AI_NO_EXCEPT : mTextureBlend(other.mTextureBlend),
- mMapName(std::move(other.mMapName)),
- mOffsetU(other.mOffsetU),
- mOffsetV(other.mOffsetV),
- mScaleU(other.mScaleU),
- mScaleV(other.mScaleV),
- mRotation(other.mRotation),
- mMapMode(other.mMapMode),
- bPrivate(other.bPrivate),
- iUVSrc(other.iUVSrc) {
- // empty
- }
-
- Texture &operator=(Texture &&other) AI_NO_EXCEPT {
- if (this == &other) {
- return *this;
- }
-
- mTextureBlend = other.mTextureBlend;
- mMapName = std::move(other.mMapName);
- mOffsetU = other.mOffsetU;
- mOffsetV = other.mOffsetV;
- mScaleU = other.mScaleU;
- mScaleV = other.mScaleV;
- mRotation = other.mRotation;
- mMapMode = other.mMapMode;
- bPrivate = other.bPrivate;
- iUVSrc = other.iUVSrc;
-
- return *this;
- }
-
- //! Specifies the blend factor for the texture
- ai_real mTextureBlend;
-
- //! Specifies the filename of the texture
- std::string mMapName;
-
- //! Specifies texture coordinate offsets/scaling/rotations
- ai_real mOffsetU;
- ai_real mOffsetV;
- ai_real mScaleU;
- ai_real mScaleV;
- ai_real mRotation;
-
- //! Specifies the mapping mode to be used for the texture
- aiTextureMapMode mMapMode;
-
- //! Used internally
- bool bPrivate;
- int iUVSrc;
-};
-
-#include <assimp/Compiler/poppack1.h>
-
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif // _MSC_VER
-
-// ---------------------------------------------------------------------------
-/** Helper structure representing a 3ds material */
-struct Material {
- //! Default constructor has been deleted
- Material() :
- mName(),
- mDiffuse(ai_real(0.6), ai_real(0.6), ai_real(0.6)),
- mSpecularExponent(ai_real(0.0)),
- mShininessStrength(ai_real(1.0)),
- mShading(Discreet3DS::Gouraud),
- mTransparency(ai_real(1.0)),
- mBumpHeight(ai_real(1.0)),
- mTwoSided(false) {
- // empty
- }
-
- //! Constructor with explicit name
- explicit Material(const std::string &name) :
- mName(name),
- mDiffuse(ai_real(0.6), ai_real(0.6), ai_real(0.6)),
- mSpecularExponent(ai_real(0.0)),
- mShininessStrength(ai_real(1.0)),
- mShading(Discreet3DS::Gouraud),
- mTransparency(ai_real(1.0)),
- mBumpHeight(ai_real(1.0)),
- mTwoSided(false) {
- // empty
- }
-
- Material(const Material &other) :
- mName(other.mName),
- mDiffuse(other.mDiffuse),
- mSpecularExponent(other.mSpecularExponent),
- mShininessStrength(other.mShininessStrength),
- mSpecular(other.mSpecular),
- mAmbient(other.mAmbient),
- mShading(other.mShading),
- mTransparency(other.mTransparency),
- sTexDiffuse(other.sTexDiffuse),
- sTexOpacity(other.sTexOpacity),
- sTexSpecular(other.sTexSpecular),
- sTexReflective(other.sTexReflective),
- sTexBump(other.sTexBump),
- sTexEmissive(other.sTexEmissive),
- sTexShininess(other.sTexShininess),
- mBumpHeight(other.mBumpHeight),
- mEmissive(other.mEmissive),
- sTexAmbient(other.sTexAmbient),
- mTwoSided(other.mTwoSided) {
- // empty
- }
-
- //! Move constructor. This is explicitly written because MSVC doesn't support defaulting it
- Material(Material &&other) AI_NO_EXCEPT : mName(std::move(other.mName)),
- mDiffuse(other.mDiffuse),
- mSpecularExponent(other.mSpecularExponent),
- mShininessStrength(other.mShininessStrength),
- mSpecular(other.mSpecular),
- mAmbient(other.mAmbient),
- mShading(other.mShading),
- mTransparency(other.mTransparency),
- sTexDiffuse(std::move(other.sTexDiffuse)),
- sTexOpacity(std::move(other.sTexOpacity)),
- sTexSpecular(std::move(other.sTexSpecular)),
- sTexReflective(std::move(other.sTexReflective)),
- sTexBump(std::move(other.sTexBump)),
- sTexEmissive(std::move(other.sTexEmissive)),
- sTexShininess(std::move(other.sTexShininess)),
- mBumpHeight(other.mBumpHeight),
- mEmissive(other.mEmissive),
- sTexAmbient(std::move(other.sTexAmbient)),
- mTwoSided(other.mTwoSided) {
- // empty
- }
-
- Material &operator=(Material &&other) AI_NO_EXCEPT {
- if (this == &other) {
- return *this;
- }
-
- mName = std::move(other.mName);
- mDiffuse = other.mDiffuse;
- mSpecularExponent = other.mSpecularExponent;
- mShininessStrength = other.mShininessStrength,
- mSpecular = other.mSpecular;
- mAmbient = other.mAmbient;
- mShading = other.mShading;
- mTransparency = other.mTransparency;
- sTexDiffuse = std::move(other.sTexDiffuse);
- sTexOpacity = std::move(other.sTexOpacity);
- sTexSpecular = std::move(other.sTexSpecular);
- sTexReflective = std::move(other.sTexReflective);
- sTexBump = std::move(other.sTexBump);
- sTexEmissive = std::move(other.sTexEmissive);
- sTexShininess = std::move(other.sTexShininess);
- mBumpHeight = other.mBumpHeight;
- mEmissive = other.mEmissive;
- sTexAmbient = std::move(other.sTexAmbient);
- mTwoSided = other.mTwoSided;
-
- return *this;
- }
-
- virtual ~Material() {
- // empty
- }
-
- //! Name of the material
- std::string mName;
- //! Diffuse color of the material
- aiColor3D mDiffuse;
- //! Specular exponent
- ai_real mSpecularExponent;
- //! Shininess strength, in percent
- ai_real mShininessStrength;
- //! Specular color of the material
- aiColor3D mSpecular;
- //! Ambient color of the material
- aiColor3D mAmbient;
- //! Shading type to be used
- Discreet3DS::shadetype3ds mShading;
- //! Opacity of the material
- ai_real mTransparency;
- //! Diffuse texture channel
- Texture sTexDiffuse;
- //! Opacity texture channel
- Texture sTexOpacity;
- //! Specular texture channel
- Texture sTexSpecular;
- //! Reflective texture channel
- Texture sTexReflective;
- //! Bump texture channel
- Texture sTexBump;
- //! Emissive texture channel
- Texture sTexEmissive;
- //! Shininess texture channel
- Texture sTexShininess;
- //! Scaling factor for the bump values
- ai_real mBumpHeight;
- //! Emissive color
- aiColor3D mEmissive;
- //! Ambient texture channel
- //! (used by the ASE format)
- Texture sTexAmbient;
- //! True if the material must be rendered from two sides
- bool mTwoSided;
-};
-
-// ---------------------------------------------------------------------------
-/** Helper structure to represent a 3ds file mesh */
-struct Mesh : public MeshWithSmoothingGroups<D3DS::Face> {
- //! Default constructor has been deleted
- Mesh() = delete;
-
- //! Constructor with explicit name
- explicit Mesh(const std::string &name) :
- mName(name) {
- }
-
- //! Name of the mesh
- std::string mName;
-
- //! Texture coordinates
- std::vector<aiVector3D> mTexCoords;
-
- //! Face materials
- std::vector<unsigned int> mFaceMaterials;
-
- //! Local transformation matrix
- aiMatrix4x4 mMat;
-};
-
-// ---------------------------------------------------------------------------
-/** Float key - quite similar to aiVectorKey and aiQuatKey. Both are in the
- C-API, so it would be difficult to make them a template. */
-struct aiFloatKey {
- double mTime; ///< The time of this key
- ai_real mValue; ///< The value of this key
-
-#ifdef __cplusplus
-
- // time is not compared
- bool operator==(const aiFloatKey &o) const { return o.mValue == this->mValue; }
-
- bool operator!=(const aiFloatKey &o) const { return o.mValue != this->mValue; }
-
- // Only time is compared. This operator is defined
- // for use with std::sort
- bool operator<(const aiFloatKey &o) const { return mTime < o.mTime; }
-
- bool operator>(const aiFloatKey &o) const { return mTime > o.mTime; }
-
-#endif
-};
-
-// ---------------------------------------------------------------------------
-/** Helper structure to represent a 3ds file node */
-struct Node {
- Node() = delete;
-
- explicit Node(const std::string &name) :
- mParent(nullptr),
- mName(name),
- mInstanceNumber(0),
- mHierarchyPos(0),
- mHierarchyIndex(0),
- mInstanceCount(1) {
- aRotationKeys.reserve(20);
- aPositionKeys.reserve(20);
- aScalingKeys.reserve(20);
- }
-
- ~Node() {
- for (unsigned int i = 0; i < mChildren.size(); ++i)
- delete mChildren[i];
- }
-
- //! Pointer to the parent node
- Node *mParent;
-
- //! Holds all child nodes
- std::vector<Node *> mChildren;
-
- //! Name of the node
- std::string mName;
-
- //! InstanceNumber of the node
- int32_t mInstanceNumber;
-
- //! Dummy nodes: real name to be combined with the $$$DUMMY
- std::string mDummyName;
-
- //! Position of the node in the hierarchy (tree depth)
- int16_t mHierarchyPos;
-
- //! Index of the node
- int16_t mHierarchyIndex;
-
- //! Rotation keys loaded from the file
- std::vector<aiQuatKey> aRotationKeys;
-
- //! Position keys loaded from the file
- std::vector<aiVectorKey> aPositionKeys;
-
- //! Scaling keys loaded from the file
- std::vector<aiVectorKey> aScalingKeys;
-
- // For target lights (spot lights and directional lights):
- // The position of the target
- std::vector<aiVectorKey> aTargetPositionKeys;
-
- // For cameras: the camera roll angle
- std::vector<aiFloatKey> aCameraRollKeys;
-
- //! Pivot position loaded from the file
- aiVector3D vPivot;
-
- //instance count, will be kept only for the first node
- int32_t mInstanceCount;
-
- //! Add a child node, setup the right parent node for it
- //! \param pc Node to be 'adopted'
- inline Node &push_back(Node *pc) {
- mChildren.push_back(pc);
- pc->mParent = this;
- return *this;
- }
-};
-// ---------------------------------------------------------------------------
-/** Helper structure analogue to aiScene */
-struct Scene {
- //! List of all materials loaded
- //! NOTE: 3ds references materials globally
- std::vector<Material> mMaterials;
-
- //! List of all meshes loaded
- std::vector<Mesh> mMeshes;
-
- //! List of all cameras loaded
- std::vector<aiCamera *> mCameras;
-
- //! List of all lights loaded
- std::vector<aiLight *> mLights;
-
- //! Pointer to the root node of the scene
- // --- moved to main class
- // Node* pcRootNode;
-};
-
-} // end of namespace D3DS
-} // end of namespace Assimp
-
-#endif // AI_XFILEHELPER_H_INC