Add mj_multiRayNormal for multi-ray casting with normal computation (not exposed in public header)
PiperOrigin-RevId: 847821078 Change-Id: I616441d3460406a92a10731d1a086af6163e96ad
This commit is contained in:
committed by
Copybara-Service
parent
7fddeeaff6
commit
b28b5db680
@@ -30,11 +30,18 @@ MJAPI void mju_multiRayPrepare(const mjModel* m, const mjData* d,
|
||||
int* geom_eliminate);
|
||||
|
||||
// intersect multiple rays emanating from a single source
|
||||
// similar semantics to mj_ray, but vec is an array of (nray x 3) directions.
|
||||
// similar semantics to mj_ray, but vec is (nray x 3) and dist is (nray).
|
||||
MJAPI void mj_multiRay(const mjModel* m, mjData* d, const mjtNum pnt[3], const mjtNum* vec,
|
||||
const mjtByte* geomgroup, mjtByte flg_static, int bodyexclude,
|
||||
int* geomid, mjtNum* dist, int nray, mjtNum cutoff);
|
||||
|
||||
// intersect multiple rays, compute normals if given
|
||||
// similar semantics to mj_rayNormal, but vec, normal and dist are arrays.
|
||||
MJAPI void mj_multiRayNormal(const mjModel* m, mjData* d, const mjtNum pnt[3], const mjtNum* vec,
|
||||
const mjtByte* geomgroup, mjtByte flg_static, int bodyexclude,
|
||||
int* geomid, mjtNum* dist, mjtNum* normal, int nray, mjtNum cutoff);
|
||||
|
||||
|
||||
// intersect ray (pnt+x*vec, x>=0) with visible geoms, except geoms on bodyexclude
|
||||
// return geomid and distance (x) to nearest surface, or -1 if no intersection
|
||||
// geomgroup, flg_static are as in mjvOption; geomgroup==NULL skips group exclusion
|
||||
|
||||
Reference in New Issue
Block a user