MCPcopy Create free account
hub / github.com/RenderKit/embree / pointQuery

Function pointQuery

kernels/common/rtcore.cpp:468–496  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

466 }
467
468 inline bool pointQuery(Scene* scene, RTCPointQuery* query, RTCPointQueryContext* userContext, RTCPointQueryFunction queryFunc, void* userPtr)
469 {
470 bool changed = false;
471 if (userContext->instStackSize > 0)
472 {
473 const AffineSpace3fa transform = AffineSpace3fa_load_unaligned((AffineSpace3fa*)userContext->world2inst[userContext->instStackSize-1]);
474
475 float similarityScale = 0.f;
476 const bool similtude = similarityTransform(transform, &similarityScale);
477 assert((similtude && similarityScale > 0) || (!similtude && similarityScale == 0.f));
478
479 PointQuery query_inst;
480 query_inst.p = xfmPoint(transform, Vec3fa(query->x, query->y, query->z));
481 query_inst.radius = query->radius * similarityScale;
482 query_inst.time = query->time;
483
484 PointQueryContext context_inst(scene, (PointQuery*)query,
485 similtude ? POINT_QUERY_TYPE_SPHERE : POINT_QUERY_TYPE_AABB,
486 queryFunc, userContext, similarityScale, userPtr);
487 changed = scene->intersectors.pointQuery((PointQuery*)&query_inst, &context_inst);
488 }
489 else
490 {
491 PointQueryContext context(scene, (PointQuery*)query,
492 POINT_QUERY_TYPE_SPHERE, queryFunc, userContext, 1.f, userPtr);
493 changed = scene->intersectors.pointQuery((PointQuery*)query, &context);
494 }
495 return changed;
496 }
497
498 RTC_API bool rtcPointQuery(RTCScene hscene, RTCPointQuery* query, RTCPointQueryContext* userContext, RTCPointQueryFunction queryFunc, void* userPtr)
499 {

Callers 15

pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85
pointQueryMethod · 0.85

Calls 5

similarityTransformFunction · 0.85
xfmPointFunction · 0.50
Vec3faClass · 0.50
pointQueryMethod · 0.45

Tested by

no test coverage detected