Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:58

0001 #pragma once
0002 /**
0003 CSGTarget.h : const CSGFoundry ctor argument, sframe/CE:center_extent/transform access
0004 ========================================================================================
0005 
0006 * provides CSGFoundry::target instance budding off transform related access 
0007 
0008 ::
0009 
0010     epsilon:CSG blyth$ opticks-f CSGTarget.h 
0011     ./CSG/CMakeLists.txt:    CSGTarget.h
0012     ./CSG/CSGTarget.cc:#include "CSGTarget.h"
0013     ./CSG/CSGTarget.h:CSGTarget.h : const CSGFoundry ctor argument, sframe/CE:center_extent/transform access
0014     ./CSG/CSGFoundry.cc:#include "CSGTarget.h"
0015 
0016 
0017 
0018 TODO: rejig all the methods to have sframe& 1st argument would avoid contortions 
0019 
0020 
0021 **/
0022 
0023 #include "plog/Severity.h"
0024 
0025 struct CSGFoundry ; 
0026 struct qat4 ; 
0027 struct sframe ; 
0028 
0029 struct CSGTarget
0030 {
0031     static const plog::Severity LEVEL ; 
0032     const CSGFoundry* foundry ; 
0033 
0034     CSGTarget( const CSGFoundry* foundry );  
0035 
0036     int getFrame(sframe& fr,  int inst_idx ) const ;  // "getFrameFromInstanceLookup"
0037 
0038     int getFrame(sframe& fr,  int midx, int mord, int iidxg ) const ; 
0039     int getFrameComponents(float4& ce, int midx, int mord, int iidx=-1, qat4* m2w=nullptr, qat4* w2m=nullptr ) const ;
0040     int getLocalCenterExtent( float4& lce, int midx, int mord) const ;
0041     int getGlobalCenterExtent(float4& gce, int midx, int mord, int iidx, qat4* m2w=nullptr, qat4* w2m=nullptr ) const ; 
0042 
0043     int getTransform(qat4& q, int midx, int mord, int iidx) const  ; 
0044     const qat4* getInstanceTransform(int midx, int mord, int iidx) const ; 
0045 };
0046 
0047