#include <ExCParticule.h>
|
Définition à la ligne 26 du fichier ExCParticule.cpp. Références ExCParticule(), Guard, m_Acceleration, m_ColorB, m_ColorG, m_ColorR, m_Gravity, m_LifeSpan, m_Mass, m_Position, m_Size, m_Type, m_Velocity, m_Weight, PARTICULE_LINE, ExCVec3D::SetValue(), et UnGuard. Référencé par ExCParticule(), et ~ExCParticule().
00027 { 00028 Guard(ExCParticule::ExCParticule(void)) 00029 m_LifeSpan=1000; 00030 m_Size=0.2; 00031 m_Weight=1; 00032 m_Mass=1; 00033 m_Type=PARTICULE_LINE; 00034 m_ColorR=255; 00035 m_ColorG=255; 00036 m_ColorB=255; 00037 m_Velocity.SetValue(0.0f,0.1f,0.0f); 00038 m_Position.SetValue(0.0f,0.0f,0.0f); 00039 m_Acceleration.SetValue(1.0f,1.0f,1.0f); 00040 m_Gravity.SetValue(0.0f,0.0f,0.0f); 00041 UnGuard 00042 } |
|
Définition à la ligne 44 du fichier ExCParticule.cpp. Références ExCParticule(), Guard, et UnGuard.
00045 { 00046 Guard(ExCParticule::~ExCParticule(void)) 00047 UnGuard 00048 } |
|
Définition à la ligne 216 du fichier ExCParticule.cpp. Références ApplyForceToParitcule(), Guard, et UnGuard. Référencé par ApplyForceToParitcule().
00217 { 00218 Guard(void ExCParticule::ApplyForceToParitcule(ExCVec3D force)) 00219 00220 UnGuard 00221 } |
|
Définition à la ligne 119 du fichier ExCParticule.h. Références m_LifeSpan.
00119 {m_LifeSpan--;} |
|
Définition à la ligne 67 du fichier ExCParticule.cpp. Références Draw(), Guard, m_Blending, m_ColorB, m_ColorG, m_ColorR, m_Gravity, m_LifeSpan, m_Position, m_Size, m_Texture, m_TotalLife, m_VecPosition, ExCVec3D::m_Vector, m_Velocity, PARTICULE_LINE, PARTICULE_POINT, PARTICULE_TEXTURE, ExCVec3D::SetValue(), et UnGuard. Référencé par Draw().
00068 { 00069 Guard(void ExCParticule::Draw(void)) 00070 00071 float x,y,z,x1,y1,z1; 00072 float GravityX,GravityY,GravityZ; 00073 int TimeNow=(m_TotalLife-m_LifeSpan); 00074 00075 GLfloat no_mat[] = {0.0f,0.0f,0.0f,1.0f}; 00076 GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; 00077 GLfloat mat_ambient_color[] = {0.8f,0.8f,0.2f,1.0f}; 00078 GLfloat mat_diffuse[] = {0.1f,0.5f,0.8f,1.0f}; 00079 GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f}; 00080 GLfloat no_shininess[] = {0.0f}; 00081 GLfloat low_shininess[] = {5.0f}; 00082 GLfloat high_shininess[] = {100.0f}; 00083 GLfloat mat_emission[] = {0.3f,0.2f,0.2f,0.0f}; 00084 00085 switch(m_Type) 00086 { 00087 case PARTICULE_POINT: 00088 00089 glPushMatrix(); 00090 00091 glTranslatef(m_Position.m_Vector[0], 00092 m_Position.m_Vector[1], 00093 m_Position.m_Vector[2]); 00094 m_Position=m_Position+m_Velocity; 00095 00096 glColor4ub(m_ColorR,m_ColorG,m_ColorB,m_Blending); 00097 glBegin(GL_POINT); 00098 glVertex3fv(m_Position.m_Vector); 00099 glEnd(); 00100 glPopMatrix(); 00101 break; 00102 00103 case PARTICULE_LINE: 00104 glPushMatrix(); 00105 00106 GravityX=((TimeNow*TimeNow)*(m_Gravity.m_Vector[0])/20); 00107 GravityY=((TimeNow*TimeNow)*(m_Gravity.m_Vector[1])/20); 00108 GravityZ=((TimeNow*TimeNow)*(m_Gravity.m_Vector[2])/20); 00109 00110 x=m_Position.m_Vector[0]+(m_Velocity.m_Vector[0]*TimeNow)-GravityX; 00111 y=m_Position.m_Vector[1]+(m_Velocity.m_Vector[1]*TimeNow)-GravityY; 00112 z=m_Position.m_Vector[2]+(m_Velocity.m_Vector[2]*TimeNow)-GravityZ; 00113 00114 x1=m_Position.m_Vector[0]+(m_Velocity.m_Vector[0]*(TimeNow+m_Size))-GravityX; 00115 y1=m_Position.m_Vector[1]+(m_Velocity.m_Vector[1]*(TimeNow+m_Size))-GravityY; 00116 z1=m_Position.m_Vector[2]+(m_Velocity.m_Vector[2]*(TimeNow+m_Size))-GravityZ; 00117 00118 glTranslatef(x,y,z); 00119 glColor4ub(m_ColorR,m_ColorG,m_ColorB,m_Blending); 00120 00121 glEnable(GL_BLEND); 00122 glEnable(GL_ALPHA); 00123 glBlendFunc(GL_ONE,GL_ONE); 00124 glEnable(GL_ALPHA_TEST); 00125 glAlphaFunc(GL_GREATER,0); 00126 glLineWidth(2.0f); 00127 //glEnable(GL_LIGHTING); 00128 00129 glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT,no_mat); 00130 glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE,mat_diffuse); 00131 glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,mat_specular); 00132 glMaterialfv(GL_FRONT_AND_BACK,GL_SHININESS,high_shininess); 00133 glMaterialfv(GL_FRONT_AND_BACK,GL_EMISSION,no_mat); 00134 00135 glBegin(GL_LINES); 00136 glVertex3f(x,y,z); 00137 glVertex3f(x1,y1,z1); 00138 glEnd(); 00139 glDisable(GL_LIGHTING); 00140 glDisable(GL_BLEND); 00141 glDisable(GL_ALPHA); 00142 glLineWidth(1.5); 00143 glPopMatrix(); 00144 break; 00145 00146 case PARTICULE_TEXTURE: 00147 glPushMatrix(); 00148 ExCVec3D position; 00149 if(TimeNow<m_TotalLife) 00150 { 00151 position=m_VecPosition.at(TimeNow); 00152 glTranslatef(position.m_Vector[0],position.m_Vector[1],position.m_Vector[2]); 00153 // Orienation of particule 00154 GLfloat viewMatrix[16]; 00155 glGetFloatv(GL_MODELVIEW_MATRIX, viewMatrix); 00156 ExCVec3D right; 00157 ExCVec3D up; 00158 00159 right.SetValue(viewMatrix[0],viewMatrix[4],viewMatrix[8]); 00160 up.SetValue(viewMatrix[1],viewMatrix[5],viewMatrix[9]); 00161 00162 ExCVec3D v1,v2,v3,v4; 00163 v1=m_Position+(right+up)*-m_Size; 00164 v2=m_Position+(right-up)*m_Size; 00165 v3=m_Position+(right+up)*m_Size; 00166 v4=m_Position+(up-right)*m_Size; 00167 00168 00169 //DRAW PARTICULE 00170 glColor4ub(m_ColorR,m_ColorG,m_ColorB,m_Blending); 00171 glEnable(GL_BLEND); 00172 glEnable(GL_ALPHA); 00173 glEnable(GL_TEXTURE_2D); 00174 glBlendFunc(GL_ONE,GL_ONE); 00175 glEnable(GL_ALPHA_TEST); 00176 glAlphaFunc(GL_GREATER,0); 00177 glDisable(GL_LIGHTING); 00178 glBindTexture(GL_TEXTURE_2D,m_Texture); 00179 glBegin(GL_QUADS); 00180 glTexCoord2f(0.0f, 0.0f); glVertex3fv(v1.m_Vector); 00181 glTexCoord2f(1.0f, 0.0f); glVertex3fv(v2.m_Vector); 00182 glTexCoord2f(1.0f, 1.0f); glVertex3fv(v3.m_Vector); 00183 glTexCoord2f(0.0f, 1.0f); glVertex3fv(v4.m_Vector); 00184 glEnd(); 00185 glDisable(GL_TEXTURE_2D); 00186 glDisable(GL_BLEND); 00187 glDisable(GL_ALPHA); 00188 glEnable(GL_LIGHTING); 00189 } 00190 glPopMatrix(); 00191 break; 00192 } 00193 00194 UnGuard 00195 } |
|
Définition à la ligne 105 du fichier ExCParticule.h. Références m_Blending.
00105 {return m_Blending;} |
|
Définition à la ligne 102 du fichier ExCParticule.h. Références m_ColorB.
00102 {return m_ColorB;} |
|
Définition à la ligne 99 du fichier ExCParticule.h. Références m_ColorG.
00099 {return m_ColorG;} |
|
Définition à la ligne 96 du fichier ExCParticule.h. Références m_ColorR.
00096 {return m_ColorR;} |
|
Définition à la ligne 90 du fichier ExCParticule.h. Références m_LifeSpan. Référencé par ExCSystemeParticule::Draw().
00090 {return m_LifeSpan;} |
|
Définition à la ligne 87 du fichier ExCParticule.h. Références m_Mass.
00087 {return m_Mass;} |
|
Définition à la ligne 84 du fichier ExCParticule.h. Références m_Size.
00084 {return m_Size;} |
|
Définition à la ligne 93 du fichier ExCParticule.h. Références m_Weight.
00093 {return m_Weight;} |
|
Définition à la ligne 197 du fichier ExCParticule.cpp. Références Guard, m_Gravity, m_Position, m_VecPosition, ExCVec3D::m_Vector, m_Velocity, PrecalculeParticuleTrajectory(), et UnGuard. Référencé par ExCSystemeParticule::Draw(), et PrecalculeParticuleTrajectory().
00198 { 00199 Guard(void ExCParticule::PrecalculeParticuleTrajectory(int start,int end)) 00200 float GravityX,GravityY,GravityZ; 00201 ExCVec3D Position; 00202 for(int i=start;i<end;i++) 00203 { 00204 GravityX=((i*i)*(m_Gravity.m_Vector[0])/2000); 00205 GravityY=((i*i)*(m_Gravity.m_Vector[1])/2000); 00206 GravityZ=((i*i)*(m_Gravity.m_Vector[2])/2000); 00207 00208 Position.m_Vector[0]=m_Position.m_Vector[0]+(m_Velocity.m_Vector[0]*i)-GravityX; 00209 Position.m_Vector[1]=m_Position.m_Vector[1]+(m_Velocity.m_Vector[1]*i)-GravityY; 00210 Position.m_Vector[2]=m_Position.m_Vector[2]+(m_Velocity.m_Vector[2]*i)-GravityZ; 00211 m_VecPosition.push_back(Position); 00212 } 00213 UnGuard 00214 } |
|
Définition à la ligne 81 du fichier ExCParticule.h.
00081 {ManagerTexture = Texture;} |
|
Définition à la ligne 110 du fichier ExCParticule.h. Référencé par ExCSystemeParticule::Draw().
00110 {m_Acceleration=Acceleration;} |
|
Définition à la ligne 104 du fichier ExCParticule.h. Références m_Blending. Référencé par ExCSystemeParticule::Draw().
00104 {m_Blending=Blending;} |
|
Définition à la ligne 101 du fichier ExCParticule.h. Références m_ColorB. Référencé par ExCSystemeParticule::Draw().
00101 {m_ColorB=ColorB;} |
|
Définition à la ligne 98 du fichier ExCParticule.h. Références m_ColorG. Référencé par ExCSystemeParticule::Draw().
00098 {m_ColorG=ColorG;} |
|
Définition à la ligne 95 du fichier ExCParticule.h. Références m_ColorR. Référencé par ExCSystemeParticule::Draw().
00095 {m_ColorR=ColorR;} |
|
Définition à la ligne 113 du fichier ExCParticule.h. Référencé par ExCSystemeParticule::Draw().
00113 {m_Gravity=Gravity;} |
|
Définition à la ligne 89 du fichier ExCParticule.h. Références m_LifeSpan, et m_TotalLife. Référencé par ExCSystemeParticule::Draw().
00089 {m_LifeSpan=life;m_TotalLife=life;} |
|
Définition à la ligne 86 du fichier ExCParticule.h. Références m_Mass. Référencé par ExCSystemeParticule::Draw().
00086 {m_Mass=Mass;} |
|
Définition à la ligne 116 du fichier ExCParticule.h. Référencé par ExCSystemeParticule::Draw().
00116 {m_Position=Position;} |
|
Définition à la ligne 83 du fichier ExCParticule.h. Références m_Size.
00083 {m_Size=Size;} |
|
Définition à la ligne 59 du fichier ExCParticule.cpp. Références Guard, m_Texture, SetParticuleTexture(), et UnGuard. Référencé par ExCSystemeParticule::Draw(), ExCSystemeParticule::SetParticuleTexture(), et SetParticuleTexture().
00060 { 00061 Guard(void ExCParticule::SetParticuleTexture(int texture)) 00062 m_Texture=texture; 00063 UnGuard 00064 } |
|
Définition à la ligne 51 du fichier ExCParticule.cpp. Références Guard, m_Type, SetParticuleType(), et UnGuard. Référencé par ExCSystemeParticule::Draw(), ExCSystemeParticule::SetParticuleType(), et SetParticuleType().
|
|
Définition à la ligne 107 du fichier ExCParticule.h. Référencé par ExCSystemeParticule::Draw().
00107 {m_Velocity=Velocity;} |
|
Définition à la ligne 92 du fichier ExCParticule.h. Références m_Weight. Référencé par ExCSystemeParticule::Draw().
00092 {m_Weight=Weight;} |
|
Définition à la ligne 111 du fichier ExCParticule.h.
00111 {return m_Acceleration;} |
|
Définition à la ligne 114 du fichier ExCParticule.h.
00114 {return m_Gravity;} |
|
Définition à la ligne 117 du fichier ExCParticule.h.
00117 {return m_Position;} |
|
Définition à la ligne 108 du fichier ExCParticule.h.
00108 {return m_Velocity;} |
|
Définition à la ligne 46 du fichier ExCParticule.h. Référencé par ExCParticule(). |
|
Définition à la ligne 57 du fichier ExCParticule.h. Référencé par Draw(), GetParticuleBlending(), et SetParticuleBlending(). |
|
Définition à la ligne 56 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), GetParticuleColorB(), et SetParticuleColorB(). |
|
Définition à la ligne 55 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), GetParticuleColorG(), et SetParticuleColorG(). |
|
Définition à la ligne 54 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), GetParticuleColorR(), et SetParticuleColorR(). |
|
Définition à la ligne 47 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), et PrecalculeParticuleTrajectory(). |
|
Définition à la ligne 61 du fichier ExCParticule.h. |
|
Définition à la ligne 50 du fichier ExCParticule.h. Référencé par DecreaseLifeSpan(), Draw(), ExCParticule(), GetParticuleLife(), et SetParticuleLife(). |
|
Définition à la ligne 49 du fichier ExCParticule.h. Référencé par ExCParticule(), GetParticuleMass(), et SetParticuleMass(). |
|
Définition à la ligne 44 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), et PrecalculeParticuleTrajectory(). |
|
Définition à la ligne 48 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), GetParticuleSize(), et SetParticuleSize(). |
|
Définition à la ligne 58 du fichier ExCParticule.h. Référencé par Draw(), et SetParticuleTexture(). |
|
Définition à la ligne 51 du fichier ExCParticule.h. Référencé par Draw(), et SetParticuleLife(). |
|
Définition à la ligne 53 du fichier ExCParticule.h. Référencé par ExCParticule(), et SetParticuleType(). |
|
Définition à la ligne 60 du fichier ExCParticule.h. Référencé par Draw(), et PrecalculeParticuleTrajectory(). |
|
Définition à la ligne 45 du fichier ExCParticule.h. Référencé par Draw(), ExCParticule(), et PrecalculeParticuleTrajectory(). |
|
Définition à la ligne 52 du fichier ExCParticule.h. Référencé par ExCParticule(), GetParticuleWeight(), et SetParticuleWeight(). |
|
Définition à la ligne 63 du fichier ExCParticule.h. |