Panda3D
|
00001 // Filename: config_mathutil.cxx 00002 // Created by: drose (01Oct99) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 #include "config_mathutil.h" 00016 #include "boundingVolume.h" 00017 #include "geometricBoundingVolume.h" 00018 #include "finiteBoundingVolume.h" 00019 #include "omniBoundingVolume.h" 00020 #include "boundingSphere.h" 00021 #include "boundingBox.h" 00022 #include "boundingHexahedron.h" 00023 #include "boundingLine.h" 00024 #include "boundingPlane.h" 00025 #include "linmath_events.h" 00026 #include "dconfig.h" 00027 #include "pandaSystem.h" 00028 00029 Configure(config_mathutil); 00030 NotifyCategoryDef(mathutil, ""); 00031 00032 ConfigVariableDouble fft_offset 00033 ("fft-offset", 0.001); 00034 00035 ConfigVariableDouble fft_factor 00036 ("fft-factor", 0.1); 00037 00038 ConfigVariableDouble fft_exponent 00039 ("fft-exponent", 4); 00040 00041 ConfigVariableDouble fft_error_threshold 00042 ("fft-error-threshold", 0.2); 00043 00044 ConfigVariableEnum<BoundingVolume::BoundsType> bounds_type 00045 ("bounds-type", BoundingVolume::BT_sphere, 00046 PRC_DESC("Specify the type of bounding volume that is created automatically " 00047 "by Panda to enclose geometry. Use 'sphere' or 'box', or use " 00048 "'best' to let Panda decide which is most appropriate.")); 00049 00050 ConfigureFn(config_mathutil) { 00051 BoundingHexahedron::init_type(); 00052 BoundingSphere::init_type(); 00053 BoundingBox::init_type(); 00054 BoundingVolume::init_type(); 00055 FiniteBoundingVolume::init_type(); 00056 GeometricBoundingVolume::init_type(); 00057 OmniBoundingVolume::init_type(); 00058 BoundingLine::init_type(); 00059 BoundingPlane::init_type(); 00060 EventStoreVec2::init_type("EventStoreVec2"); 00061 EventStoreVec3::init_type("EventStoreVec3"); 00062 EventStoreMat4::init_type("EventStoreMat4"); 00063 00064 EventStoreVec2::register_with_read_factory(); 00065 EventStoreVec3::register_with_read_factory(); 00066 EventStoreMat4::register_with_read_factory(); 00067 00068 #ifdef HAVE_FFTW 00069 PandaSystem *ps = PandaSystem::get_global_ptr(); 00070 ps->add_system("fftw"); 00071 #endif // FFTW 00072 } 00073