00001 // Filename: config_flt.cxx 00002 // Created by: drose (24Aug00) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 #include "config_flt.h" 00020 #include "fltRecord.h" 00021 #include "fltBead.h" 00022 #include "fltBeadID.h" 00023 #include "fltGroup.h" 00024 #include "fltObject.h" 00025 #include "fltGeometry.h" 00026 #include "fltFace.h" 00027 #include "fltCurve.h" 00028 #include "fltMesh.h" 00029 #include "fltLocalVertexPool.h" 00030 #include "fltMeshPrimitive.h" 00031 #include "fltVectorRecord.h" 00032 #include "fltVertexList.h" 00033 #include "fltLOD.h" 00034 #include "fltInstanceDefinition.h" 00035 #include "fltInstanceRef.h" 00036 #include "fltHeader.h" 00037 #include "fltVertex.h" 00038 #include "fltMaterial.h" 00039 #include "fltTexture.h" 00040 #include "fltLightSourceDefinition.h" 00041 #include "fltUnsupportedRecord.h" 00042 #include "fltTransformRecord.h" 00043 #include "fltTransformGeneralMatrix.h" 00044 #include "fltTransformPut.h" 00045 #include "fltTransformRotateAboutEdge.h" 00046 #include "fltTransformRotateAboutPoint.h" 00047 #include "fltTransformScale.h" 00048 #include "fltTransformTranslate.h" 00049 #include "fltTransformRotateScale.h" 00050 #include "fltExternalReference.h" 00051 00052 #include <dconfig.h> 00053 00054 Configure(config_flt); 00055 NotifyCategoryDef(flt, ""); 00056 00057 // Set this true to trigger an assertion failure (and core dump) 00058 // immediately when an error is detected on reading or writing a flt 00059 // file. This is primarily useful for debugging the flt reader 00060 // itself, to generate a stack trace to determine precisely at what 00061 // point a flt file failed. 00062 const bool flt_error_abort = config_flt.GetBool("flt-error-abort", false); 00063 00064 ConfigureFn(config_flt) { 00065 init_libflt(); 00066 } 00067 00068 //////////////////////////////////////////////////////////////////// 00069 // Function: init_libflt 00070 // Description: Initializes the library. This must be called at 00071 // least once before any of the functions or classes in 00072 // this library can be used. Normally it will be 00073 // called by the static initializers and need not be 00074 // called explicitly, but special cases exist. 00075 //////////////////////////////////////////////////////////////////// 00076 void 00077 init_libflt() { 00078 static bool initialized = false; 00079 if (initialized) { 00080 return; 00081 } 00082 initialized = true; 00083 00084 FltRecord::init_type(); 00085 FltBead::init_type(); 00086 FltBeadID::init_type(); 00087 FltGroup::init_type(); 00088 FltObject::init_type(); 00089 FltGeometry::init_type(); 00090 FltFace::init_type(); 00091 FltCurve::init_type(); 00092 FltMesh::init_type(); 00093 FltLocalVertexPool::init_type(); 00094 FltMeshPrimitive::init_type(); 00095 FltVectorRecord::init_type(); 00096 FltVertexList::init_type(); 00097 FltLOD::init_type(); 00098 FltInstanceDefinition::init_type(); 00099 FltInstanceRef::init_type(); 00100 FltHeader::init_type(); 00101 FltVertex::init_type(); 00102 FltMaterial::init_type(); 00103 FltTexture::init_type(); 00104 FltLightSourceDefinition::init_type(); 00105 FltUnsupportedRecord::init_type(); 00106 FltTransformRecord::init_type(); 00107 FltTransformGeneralMatrix::init_type(); 00108 FltTransformPut::init_type(); 00109 FltTransformRotateAboutEdge::init_type(); 00110 FltTransformRotateAboutPoint::init_type(); 00111 FltTransformScale::init_type(); 00112 FltTransformTranslate::init_type(); 00113 FltTransformRotateScale::init_type(); 00114 FltExternalReference::init_type(); 00115 } 00116