Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -50,6 +50,7 @@ inline void cvt_2to3(size_t a_npt,const float* a_xys,float*& a_xyzs) {
|
||||
|
||||
|
||||
inline void triangle_fan_to_triangles(size_t a_npt,const float* a_fxyzs,float*& a_xyzs) {
|
||||
// a_xyzs = (a_npt-2)*3*3
|
||||
|
||||
const float* vpos = a_fxyzs;
|
||||
|
||||
@@ -86,6 +87,7 @@ inline void triangle_fan_to_triangles(size_t a_npt,const float* a_fxyzs,float*&
|
||||
}
|
||||
|
||||
inline void triangle_strip_to_triangles(size_t a_npt,const float* a_fxyzs,float*& a_xyzs) {
|
||||
// a_xyzs = (a_npt-2)*3*3
|
||||
|
||||
const float* vpos = a_fxyzs;
|
||||
|
||||
@@ -152,6 +154,7 @@ inline void triangle_fan_to_triangles(size_t a_npt,
|
||||
inline void triangle_strip_to_triangles(size_t a_npt,
|
||||
const float* a_fxyzs,const float* a_fnms,
|
||||
float*& a_xyzs,float*& a_nms) {
|
||||
// a_xyzs, a_nms = (a_npt-2)*3*3
|
||||
triangle_strip_to_triangles(a_npt,a_fxyzs,a_xyzs);
|
||||
triangle_strip_to_triangles(a_npt,a_fnms,a_nms);
|
||||
}
|
||||
@@ -268,6 +271,181 @@ inline void line_strip_to_lines_2to3(size_t a_npt,const float* a_xys,float*& a_x
|
||||
|
||||
}
|
||||
|
||||
inline void line_strip_to_lines(size_t a_npt,const float* a_xys,float*& a_xyzs) {
|
||||
// a_xyzs = (a_npt-1)*2*3
|
||||
|
||||
const float* vpos = a_xys;
|
||||
|
||||
float x1 = *vpos;vpos++;
|
||||
float y1 = *vpos;vpos++;
|
||||
float z1 = *vpos;vpos++;
|
||||
|
||||
float x2,y2,z2;
|
||||
for(size_t i=1;i<a_npt;i++) {
|
||||
x2 = *vpos;vpos++;
|
||||
y2 = *vpos;vpos++;
|
||||
z2 = *vpos;vpos++;
|
||||
|
||||
*a_xyzs = x1;a_xyzs++;
|
||||
*a_xyzs = y1;a_xyzs++;
|
||||
*a_xyzs = z1;a_xyzs++;
|
||||
|
||||
*a_xyzs = x2;a_xyzs++;
|
||||
*a_xyzs = y2;a_xyzs++;
|
||||
*a_xyzs = z2;a_xyzs++;
|
||||
|
||||
x1 = x2;
|
||||
y1 = y2;
|
||||
z1 = z2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
inline void line_loop_to_lines(size_t a_npt,const float* a_xys,float*& a_xyzs) {
|
||||
// a_xyzs = a_npt*2*3
|
||||
|
||||
const float* vpos = a_xys;
|
||||
|
||||
float x1 = *vpos;vpos++;
|
||||
float y1 = *vpos;vpos++;
|
||||
float z1 = *vpos;vpos++;
|
||||
|
||||
float x0 = x1;
|
||||
float y0 = y1;
|
||||
float z0 = z1;
|
||||
|
||||
float x2,y2,z2;
|
||||
for(size_t i=1;i<a_npt;i++) {
|
||||
x2 = *vpos;vpos++;
|
||||
y2 = *vpos;vpos++;
|
||||
z2 = *vpos;vpos++;
|
||||
|
||||
*a_xyzs = x1;a_xyzs++;
|
||||
*a_xyzs = y1;a_xyzs++;
|
||||
*a_xyzs = z1;a_xyzs++;
|
||||
|
||||
*a_xyzs = x2;a_xyzs++;
|
||||
*a_xyzs = y2;a_xyzs++;
|
||||
*a_xyzs = z2;a_xyzs++;
|
||||
|
||||
x1 = x2;
|
||||
y1 = y2;
|
||||
z1 = z2;
|
||||
}
|
||||
|
||||
*a_xyzs = x1;a_xyzs++;
|
||||
*a_xyzs = y1;a_xyzs++;
|
||||
*a_xyzs = z1;a_xyzs++;
|
||||
|
||||
*a_xyzs = x0;a_xyzs++;
|
||||
*a_xyzs = y0;a_xyzs++;
|
||||
*a_xyzs = z0;a_xyzs++;
|
||||
|
||||
}
|
||||
|
||||
/// for DirectX_action :
|
||||
inline void triangle_fan_to_triangles_2to3(size_t a_npt,const float* a_xys,
|
||||
float a_r,float a_g,float a_b,float a_a,
|
||||
float*& a_xyz_rgbas) {
|
||||
|
||||
const float* vpos = a_xys;
|
||||
|
||||
float x1 = *vpos;vpos++;
|
||||
float y1 = *vpos;vpos++;
|
||||
|
||||
float x2 = *vpos;vpos++;
|
||||
float y2 = *vpos;vpos++;
|
||||
|
||||
float x3,y3;
|
||||
for(size_t i=2;i<a_npt;i++) {
|
||||
x3 = *vpos;vpos++;
|
||||
y3 = *vpos;vpos++;
|
||||
|
||||
*a_xyz_rgbas = x1;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = y1;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = 0;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = a_r;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_g;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_b;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_a;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = x2;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = y2;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = 0;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = a_r;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_g;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_b;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_a;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = x3;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = y3;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = 0;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = a_r;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_g;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_b;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_a;a_xyz_rgbas++;
|
||||
|
||||
x2 = x3;
|
||||
y2 = y3;
|
||||
}
|
||||
}
|
||||
|
||||
inline void triangle_fan_to_triangles(size_t a_npt,const float* a_xyzs,
|
||||
float a_r,float a_g,float a_b,float a_a,
|
||||
float*& a_xyz_rgbas) {
|
||||
|
||||
const float* vpos = a_xyzs;
|
||||
|
||||
float x1 = *vpos;vpos++;
|
||||
float y1 = *vpos;vpos++;
|
||||
float z1 = *vpos;vpos++;
|
||||
|
||||
float x2 = *vpos;vpos++;
|
||||
float y2 = *vpos;vpos++;
|
||||
float z2 = *vpos;vpos++;
|
||||
|
||||
float x3,y3,z3;
|
||||
for(size_t i=2;i<a_npt;i++) {
|
||||
x3 = *vpos;vpos++;
|
||||
y3 = *vpos;vpos++;
|
||||
z3 = *vpos;vpos++;
|
||||
|
||||
*a_xyz_rgbas = x1;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = y1;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = z1;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = a_r;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_g;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_b;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_a;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = x2;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = y2;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = z2;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = a_r;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_g;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_b;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_a;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = x3;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = y3;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = z3;a_xyz_rgbas++;
|
||||
|
||||
*a_xyz_rgbas = a_r;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_g;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_b;a_xyz_rgbas++;
|
||||
*a_xyz_rgbas = a_a;a_xyz_rgbas++;
|
||||
|
||||
x2 = x3;
|
||||
y2 = y3;
|
||||
z2 = z3;
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user