Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:02

0001 #pragma once
0002 
0003 #include <vector>
0004 
0005 #include "plog/Severity.h"
0006 #include "GAS.h"
0007 #include "CSGPrim.h"
0008 #include "BI.h"
0009 
0010 /**
0011 GAS_Builder
0012 =============
0013 
0014 Only used from SBT.cc 
0015 
0016 * 1st try approach failed GAS:BI:AABB  1:N:N   : one BI for every layer of the compound GAS
0017 * 2nd try approach  GAS:BI:AABB  1:1:N  : only one BI for all layers of compound GAS
0018 
0019 **/
0020 
0021 struct GAS_Builder
0022 {
0023     static const plog::Severity LEVEL ; 
0024     static void Build(     GAS& gas, const SCSGPrimSpec& psd );
0025 
0026     template<typename T>
0027     static CUdeviceptr DevicePointerCast( const T* d_ptr ); 
0028 
0029     static void Build_11N( GAS& gas, const SCSGPrimSpec& psd );
0030     static BI MakeCustomPrimitivesBI_11N(const SCSGPrimSpec& psd);
0031 
0032     static void DumpAABB(                const float* aabb, unsigned num_aabb, unsigned stride_in_bytes ) ; 
0033     static void BoilerPlate(GAS& gas);  
0034 };
0035 
0036