00001 // Filename: baseParticleEmitter.I 00002 // Created by: charles (26Jun00) 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 //////////////////////////////////////////////////////////////////// 00020 // Function : set_emission_type 00021 // Access : Public 00022 // Description : emission type assignment 00023 //////////////////////////////////////////////////////////////////// 00024 INLINE void BaseParticleEmitter:: 00025 set_emission_type(emissionType et) { 00026 _emission_type = et; 00027 } 00028 00029 //////////////////////////////////////////////////////////////////// 00030 // Function : get_emission_type 00031 // Access : Public 00032 // Description : emission type query 00033 //////////////////////////////////////////////////////////////////// 00034 INLINE BaseParticleEmitter::emissionType BaseParticleEmitter:: 00035 get_emission_type(void) const { 00036 return _emission_type; 00037 } 00038 00039 //////////////////////////////////////////////////////////////////// 00040 // Function : set_explicit_launch_vector 00041 // Access : Public 00042 // Description : assignment of explicit emission launch vector 00043 //////////////////////////////////////////////////////////////////// 00044 INLINE void BaseParticleEmitter:: 00045 set_explicit_launch_vector(const LVector3f& elv) { 00046 _explicit_launch_vector = elv; 00047 } 00048 00049 //////////////////////////////////////////////////////////////////// 00050 // Function : get_explicit_launch_vector 00051 // Access : Public 00052 // Description : query for explicit emission launch vector 00053 //////////////////////////////////////////////////////////////////// 00054 INLINE LVector3f BaseParticleEmitter:: 00055 get_explicit_launch_vector(void) const { 00056 return _explicit_launch_vector; 00057 } 00058 00059 //////////////////////////////////////////////////////////////////// 00060 // Function : set_radiate_origin 00061 // Access : Public 00062 // Description : assignment of radiate emission origin point 00063 //////////////////////////////////////////////////////////////////// 00064 INLINE void BaseParticleEmitter:: 00065 set_radiate_origin(const LPoint3f& ro) { 00066 _radiate_origin = ro; 00067 } 00068 00069 //////////////////////////////////////////////////////////////////// 00070 // Function : get_radiate_origin 00071 // Access : Public 00072 // Description : query for explicit emission launch vector 00073 //////////////////////////////////////////////////////////////////// 00074 INLINE LPoint3f BaseParticleEmitter:: 00075 get_radiate_origin(void) const { 00076 return _radiate_origin; 00077 } 00078 00079 //////////////////////////////////////////////////////////////////// 00080 // Function : set_amplitude 00081 // Access : Public 00082 // Description : amplitude assignment 00083 //////////////////////////////////////////////////////////////////// 00084 INLINE void BaseParticleEmitter:: 00085 set_amplitude(float a) { 00086 _amplitude = a; 00087 } 00088 00089 //////////////////////////////////////////////////////////////////// 00090 // Function : get_amplitude 00091 // Access : Public 00092 // Description : amplitude query 00093 //////////////////////////////////////////////////////////////////// 00094 INLINE float BaseParticleEmitter:: 00095 get_amplitude(void) const { 00096 return _amplitude; 00097 } 00098 00099 //////////////////////////////////////////////////////////////////// 00100 // Function : set_amplitude_spread 00101 // Access : Public 00102 // Description : amplitude spread assignment 00103 //////////////////////////////////////////////////////////////////// 00104 INLINE void BaseParticleEmitter:: 00105 set_amplitude_spread(float as) { 00106 _amplitude_spread = as; 00107 } 00108 00109 //////////////////////////////////////////////////////////////////// 00110 // Function : get_amplitude_spread 00111 // Access : Public 00112 // Description : amplitude spread query 00113 //////////////////////////////////////////////////////////////////// 00114 INLINE float BaseParticleEmitter:: 00115 get_amplitude_spread(void) const { 00116 return _amplitude_spread; 00117 } 00118 00119 //////////////////////////////////////////////////////////////////// 00120 // Function : set_offset_force 00121 // Access : Public 00122 // Description : user-defined force 00123 //////////////////////////////////////////////////////////////////// 00124 INLINE void BaseParticleEmitter:: 00125 set_offset_force(const LVector3f& of) { 00126 _offset_force = of; 00127 } 00128 00129 //////////////////////////////////////////////////////////////////// 00130 // Function : get_offset_force 00131 // Access : Public 00132 // Description : user-defined force 00133 //////////////////////////////////////////////////////////////////// 00134 INLINE LVector3f BaseParticleEmitter:: 00135 get_offset_force(void) const { 00136 return _offset_force; 00137 }