| 795 | |
| 796 | |
| 797 | SqRayBuffer::SqRayBuffer(SampleSubmarine& sampleSubmarine, PxU32 numRays, PxU32 numHits) |
| 798 | : mSampleSubmarine(sampleSubmarine) |
| 799 | , mQueryResultSize(numRays) |
| 800 | , mHitSize(numHits) |
| 801 | { |
| 802 | mOrigAddresses[0] = malloc(mQueryResultSize*sizeof(PxRaycastQueryResult) + 15); |
| 803 | mOrigAddresses[1] = malloc(mHitSize*sizeof(PxRaycastHit) + 15); |
| 804 | |
| 805 | mRayCastResults = reinterpret_cast<PxRaycastQueryResult*>((size_t(mOrigAddresses[0]) + 15) & ~15); |
| 806 | mRayCastHits = reinterpret_cast<PxRaycastHit*>((size_t(mOrigAddresses[1]) + 15 )& ~15); |
| 807 | |
| 808 | PxBatchQueryDesc batchQueryDesc(mQueryResultSize, 0, 0); |
| 809 | batchQueryDesc.queryMemory.userRaycastResultBuffer = mRayCastResults; |
| 810 | batchQueryDesc.queryMemory.userRaycastTouchBuffer = mRayCastHits; |
| 811 | batchQueryDesc.queryMemory.raycastTouchBufferSize = mHitSize; |
| 812 | |
| 813 | mBatchQuery = mSampleSubmarine.getActiveScene().createBatchQuery(batchQueryDesc); |
| 814 | if(!mBatchQuery) mSampleSubmarine.fatalError("createBatchQuery failed!"); |
| 815 | } |
| 816 | |
| 817 | SqRayBuffer::~SqRayBuffer() |
| 818 | { |
nothing calls this directly
no test coverage detected