# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

register_3d.cpp

Go to the documentation of this file.
00001 
00007 /* Copyright, 2000 Nevrax Ltd.
00008  *
00009  * This file is part of NEVRAX NEL.
00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2, or (at your option)
00013  * any later version.
00014 
00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018  * General Public License for more details.
00019 
00020  * You should have received a copy of the GNU General Public License
00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023  * MA 02111-1307, USA.
00024  */
00025 
00026 #include "std3d.h"
00027 
00028 
00029 #include "3d/register_3d.h"
00030 #include "3d/texture_font.h"
00031 #include "3d/texture_file.h"
00032 #include "3d/texture_blank.h"
00033 #include "3d/texture_mem.h"
00034 #include "3d/texture_grouped.h"
00035 #include "3d/texture_cube.h"
00036 #include "3d/mesh.h"
00037 #include "3d/mesh_multi_lod.h"
00038 #include "3d/skeleton_shape.h"
00039 #include "3d/track_keyframer.h"
00040 #include "3d/ps_util.h"
00041 #include "3d/mesh_mrm.h"
00042 #include "3d/flare_shape.h"
00043 #include "3d/water_shape.h"
00044 #include "3d/seg_remanence_shape.h"
00045 #include "3d/texture_bump.h"
00046 #include "3d/texture_blend.h"
00047 #include "3d/texture_multi_file.h"
00048 #include "3d/meshvp_wind_tree.h"
00049 #include "3d/meshvp_per_pixel_light.h"
00050 #include "3d/track_sampled_quat.h"
00051 #include "3d/track_sampled_vector.h"
00052 
00053 
00054 
00055 
00056 
00057 namespace NL3D 
00058 {
00059 
00060 
00061 //****************************************************************************
00062 void    registerSerial3d()
00063 {
00064         static bool bInitialized=false;
00065         if (!bInitialized)
00066         {
00067                 // Textures.
00068                 NLMISC_REGISTER_CLASS(CTextureFile);
00069                 NLMISC_REGISTER_CLASS(CTextureBlank);
00070                 NLMISC_REGISTER_CLASS(CTextureMem);
00071                 NLMISC_REGISTER_CLASS(CTextureFont);
00072                 NLMISC_REGISTER_CLASS(CTextureGrouped);
00073                 NLMISC_REGISTER_CLASS(CTextureCube);
00074                 NLMISC_REGISTER_CLASS(CTextureBump);
00075                 NLMISC_REGISTER_CLASS(CTextureBlend);
00076                 NLMISC_REGISTER_CLASS(CTextureMultiFile);
00077 
00078 
00079 
00080                 // Track
00081                 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBFloat);
00082                 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBVector);
00083                 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBQuat);
00084                 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBInt);
00085                 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBRGBA);
00086                 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierFloat);
00087                 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierVector);
00088                 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierQuat);
00089                 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierInt);
00090                 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierRGBA);
00091                 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearFloat);
00092                 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearVector);
00093                 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearQuat);
00094                 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearInt);
00095                 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearRGBA);
00096                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstFloat);
00097                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstVector);
00098                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstQuat);
00099                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstInt);
00100                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstString);
00101                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstBool);
00102                 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstRGBA);
00103                 NLMISC_REGISTER_CLASS(CTrackDefaultFloat);
00104                 NLMISC_REGISTER_CLASS(CTrackDefaultVector);
00105                 NLMISC_REGISTER_CLASS(CTrackDefaultQuat);
00106                 NLMISC_REGISTER_CLASS(CTrackDefaultInt);
00107                 NLMISC_REGISTER_CLASS(CTrackDefaultString);
00108                 NLMISC_REGISTER_CLASS(CTrackDefaultBool);
00109                 NLMISC_REGISTER_CLASS(CTrackDefaultRGBA);
00110                 NLMISC_REGISTER_CLASS(CTrackSampledQuat);
00111                 NLMISC_REGISTER_CLASS(CTrackSampledVector);
00112                 
00113                 // Particle system
00114                 CPSUtil::registerSerialParticleSystem();                
00115 
00116                 // Don't register CTextureCroos,, since local, and not designed to be serialised.
00117 
00118                 // Shapes.
00119                 NLMISC_REGISTER_CLASS(CMesh);
00120                 NLMISC_REGISTER_CLASS(CMeshGeom);
00121                 NLMISC_REGISTER_CLASS(CSkeletonShape);
00122                 NLMISC_REGISTER_CLASS(CMeshMRM);
00123                 NLMISC_REGISTER_CLASS(CMeshMRMGeom);
00124                 NLMISC_REGISTER_CLASS(CMeshMultiLod);
00125                 NLMISC_REGISTER_CLASS(CFlareShape);
00126                 NLMISC_REGISTER_CLASS(CWaterShape);
00127                 NLMISC_REGISTER_CLASS(CWaveMakerShape);
00128                 NLMISC_REGISTER_CLASS(CSegRemanenceShape);
00129 
00130                 // Shapes VPs.
00131                 NLMISC_REGISTER_CLASS(CMeshVPWindTree);
00132                 NLMISC_REGISTER_CLASS(CMeshVPPerPixelLight);
00133 
00134 
00135                 bInitialized=true;
00136         }
00137 }
00138 
00139 
00140 } // NL3D