#include <BndSurface.h>
|
| MeshBndSurf () |
|
| MeshBndSurf (Vec3D *n, Tri *t, unsigned int nv, unsigned int nt) |
|
| ~MeshBndSurf () |
|
bool | intersection (const Vec3D &p, const Vec3D &d, Vec3D &x) |
|
void | initialize (double *nodes, int *triangles, unsigned int nv, unsigned int nt, int divisions=50) |
|
bool | intersection (double *p, double *d, double *x) |
|
| MeshBndSurf () |
|
| MeshBndSurf (Vec3D *n, Tri *t, unsigned int nv, unsigned int nt) |
|
| ~MeshBndSurf () |
|
bool | intersection (const Vec3D &p, const Vec3D &d, Vec3D &x) |
|
void | initialize (double *nodes, int *triangles, unsigned int nv, unsigned int nt, int divisions=50) |
|
bool | intersection (double *p, double *d, double *x) |
|
Definition at line 85 of file Rocon/include/BndSurface.h.
Definition at line 125 of file Rocon/include/BndSurface.h.
References i, and q.
130 for(
unsigned int i=0;
i<nt; ++
i){
131 Point3D p(n[t[
i][0]][0], n[t[i][0]][1], n[t[i][0]][2]);
132 Point3D q(n[t[
i][1]][0], n[t[i][1]][1], n[t[i][1]][2]);
133 Point3D r(n[t[
i][2]][0], n[t[i][2]][1], n[t[i][2]][2]);
int insertRange(T &item, Point3D &p, Point3D &q, Point3D &r)
void compute_bbox(Point3D &bbmin, Point3D &bbmax)
Definition at line 125 of file Rocprop/include/BndSurface.h.
References i, and q.
131 for(
int i=0;
i<nt; ++
i){
132 Point3D p(n[t[
i][0]][0], n[t[i][0]][1], n[t[i][0]][2]);
133 Point3D q(n[t[
i][1]][0], n[t[i][1]][1], n[t[i][1]][2]);
134 Point3D r(n[t[
i][2]][0], n[t[i][2]][1], n[t[i][2]][2]);
int insertRange(T &item, Point3D &p, Point3D &q, Point3D &r)
void compute_bbox(Point3D &bbmin, Point3D &bbmax)
Definition at line 96 of file Rocon/include/BndSurface.h.
References i, and v.
107 for(
unsigned int i=1;
i<
numv;
i++)
111 if(v[0] < bbmin[0]) bbmin[0]=v[0];
112 if(v[1] < bbmin[1]) bbmin[1]=v[1];
113 if(v[2] < bbmin[2]) bbmin[2]=v[2];
115 if(v[0] > bbmax[0]) bbmax[0]=v[0];
116 if(v[1] > bbmax[1]) bbmax[1]=v[1];
117 if(v[2] > bbmax[2]) bbmax[2]=v[2];
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition at line 96 of file Rocprop/include/BndSurface.h.
References i, and v.
107 for(
unsigned int i=1;
i<
numv;
i++)
111 if(v[0] < bbmin[0]) bbmin[0]=v[0];
112 if(v[1] < bbmin[1]) bbmin[1]=v[1];
113 if(v[2] < bbmin[2]) bbmin[2]=v[2];
115 if(v[0] > bbmax[0]) bbmax[0]=v[0];
116 if(v[1] > bbmax[1]) bbmax[1]=v[1];
117 if(v[2] > bbmax[2]) bbmax[2]=v[2];
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
void initialize |
( |
double * |
nodes, |
|
|
int * |
triangles, |
|
|
unsigned int |
nv, |
|
|
unsigned int |
nt, |
|
|
int |
divisions = 50 |
|
) |
| |
|
inline |
Definition at line 193 of file Rocprop/include/BndSurface.h.
References i, j, MAX_GRID_DIV, and q.
200 cerr <<
"Grid divsisions on longest dimension must be less than or equal to " <<
MAX_GRID_DIV << endl;
235 for(
int i=0;
i<nt; ++
i)
int insertRange(T &item, Point3D &p, Point3D &q, Point3D &r)
void compute_bbox(Point3D &bbmin, Point3D &bbmax)
void initialize |
( |
double * |
nodes, |
|
|
int * |
triangles, |
|
|
unsigned int |
nv, |
|
|
unsigned int |
nt, |
|
|
int |
divisions = 50 |
|
) |
| |
|
inline |
Definition at line 197 of file Rocon/include/BndSurface.h.
References i, j, MAX_GRID_DIV, and q.
Referenced by Rocon::initialize().
204 cerr <<
"Grid divsisions on longest dimension must be less than or equal to "
214 for(
unsigned int i=0;
i<
numv;
i++)
227 for(
unsigned int i=0;
i<
numt;
i++)
240 for(
unsigned int i=0;
i<nt; ++
i)
int insertRange(T &item, Point3D &p, Point3D &q, Point3D &r)
void compute_bbox(Point3D &bbmin, Point3D &bbmax)
Definition at line 144 of file Rocon/include/BndSurface.h.
References d, j, and rayIntersectsTriangle().
Referenced by Rocon::find_intersections(), and Rocon::initialize().
166 for(vector<Tri>::iterator it = hitTri->begin(); it !=hitTri->end(); it++)
178 std::cerr <<
"XXXX Ray " << p <<
" to " << d
179 <<
" Tri " << std::endl;
182 std::cerr <<
node_array[cur[2]] << std::endl << std::endl;
187 std::cerr <<
"0000 Ray "<< p <<
" to" << d
188 <<
" Tri " << std::endl;
191 std::cerr <<
node_array[cur[2]] << std::endl << std::endl;
vector< T > * get_cell_range(Point3D &p, Point3D &q)
bool rayIntersectsTriangle(double *p, double *d, double *v0, double *v1, double *v2, Vec3D &I)
Definition at line 145 of file Rocprop/include/BndSurface.h.
References d, j, and rayIntersectsTriangle().
167 for(vector<Tri>::iterator it = hitTri->begin(); it !=hitTri->end(); it++)
vector< T > * get_cell_range(Point3D &p, Point3D &q)
bool rayIntersectsTriangle(double *p, double *d, double *v0, double *v1, double *v2, Vec3D &I)
bool intersection |
( |
double * |
p, |
|
|
double * |
d, |
|
|
double * |
x |
|
) |
| |
|
inline |
Definition at line 244 of file Rocprop/include/BndSurface.h.
References i, j, and rayIntersectsTriangle().
269 for(vector<Tri>::iterator it = hitTri->begin(); it !=hitTri->end(); it++)
vector< T > * get_cell_range(Point3D &p, Point3D &q)
bool rayIntersectsTriangle(double *p, double *d, double *v0, double *v1, double *v2, Vec3D &I)
bool intersection |
( |
double * |
p, |
|
|
double * |
d, |
|
|
double * |
x |
|
) |
| |
|
inline |
Definition at line 249 of file Rocon/include/BndSurface.h.
References i, j, and rayIntersectsTriangle().
265 if(hitTri->size() == 0){
281 for(vector<Tri>::iterator it = hitTri->begin(); it !=hitTri->end(); it++)
vector< T > * get_cell_range(Point3D &p, Point3D &q)
bool rayIntersectsTriangle(double *p, double *d, double *v0, double *v1, double *v2, Vec3D &I)
The documentation for this class was generated from the following files: