From a80145de0014aff9bdafe14601046ca511a2f90c Mon Sep 17 00:00:00 2001 From: Alex Sakhartchouk Date: Fri, 13 Aug 2010 14:32:23 -0700 Subject: Adding bounding box computation. Change-Id: I682609312519d9474176556ade7a208c7d0a1323 --- libs/rs/rsScriptC_LibGL.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libs/rs/rsScriptC_LibGL.cpp') diff --git a/libs/rs/rsScriptC_LibGL.cpp b/libs/rs/rsScriptC_LibGL.cpp index f5e595340aff..4b8de765f927 100644 --- a/libs/rs/rsScriptC_LibGL.cpp +++ b/libs/rs/rsScriptC_LibGL.cpp @@ -251,6 +251,20 @@ static void SC_drawMeshPrimitiveRange(RsMesh vsm, uint32_t primIndex, uint32_t s sm->renderPrimitiveRange(rsc, primIndex, start, len); } +static void SC_meshComputeBoundingBox(RsMesh vsm, float *minX, float *minY, float *minZ, + float *maxX, float *maxY, float *maxZ) +{ + GET_TLS(); + Mesh *sm = static_cast(vsm); + sm->computeBBox(); + *minX = sm->mBBoxMin[0]; + *minY = sm->mBBoxMin[1]; + *minZ = sm->mBBoxMin[2]; + *maxX = sm->mBBoxMax[0]; + *maxY = sm->mBBoxMax[1]; + *maxZ = sm->mBBoxMax[2]; +} + ////////////////////////////////////////////////////////////////////////////// // @@ -390,6 +404,7 @@ static ScriptCState::SymbolTable_t gSyms[] = { { "_Z11rsgDrawMesh7rs_mesh", (void *)&SC_drawMesh }, { "_Z11rsgDrawMesh7rs_meshj", (void *)&SC_drawMeshPrimitive }, { "_Z11rsgDrawMesh7rs_meshjjj", (void *)&SC_drawMeshPrimitiveRange }, + { "_Z25rsgMeshComputeBoundingBox7rs_meshPfS0_S0_S0_S0_S0_", (void *)&SC_meshComputeBoundingBox }, { "_Z13rsgClearColorffff", (void *)&SC_ClearColor }, { "_Z13rsgClearDepthf", (void *)&SC_ClearDepth }, -- cgit v1.2.3