Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /**
0002 SMesh_test.cc
0003 ==============
0004 
0005 ::
0006 
0007     ~/o/sysrap/tests/SMesh_test.sh 
0008 
0009 **/
0010 
0011 #include <iostream>
0012 #include "SMesh.h"
0013 
0014 struct SMesh_test
0015 {
0016     static int Load0(); 
0017     static int Load(); 
0018     static int LoadTransformed();
0019     static int Concatenate(); 
0020     static int main(); 
0021 };
0022 
0023 inline int SMesh_test::Load0()
0024 {
0025     const char* m = "0" ; 
0026     SMesh* mesh = SMesh::Load("$SCENE_FOLD/scene/mesh_grup", m  ); 
0027     std::cout << mesh->desc(); 
0028     return 0 ;
0029 }
0030 
0031 inline int SMesh_test::Load()
0032 {
0033     NPFold* scene_mesh = NPFold::Load("$SCENE_FOLD/scene/mesh_grup"); 
0034     std::cout << scene_mesh->desc(); 
0035 
0036     int num_sub = scene_mesh->get_num_subfold(); 
0037 
0038     for(int i=0 ; i < num_sub ; i++)
0039     {
0040         NPFold* sub = scene_mesh->get_subfold(i);
0041         SMesh* mesh = SMesh::Import( sub );  
0042         std::cout << mesh->desc(); 
0043     }
0044     return 0 ; 
0045 }
0046 
0047 inline int SMesh_test::LoadTransformed()
0048 {
0049     std::cout << "[SMesh_test::LoadTransformed " << std::endl ; 
0050     glm::tmat4x4<double> tr = stra<double>::Translate(0., 0., 1000., 1. ) ; 
0051     SMesh* mesh = SMesh::LoadTransformed("$MESH_FOLD", &tr ); 
0052     std::cout << mesh->desc(); 
0053     std::cout << "]SMesh_test::LoadTransformed " << std::endl ; 
0054     return 0 ; 
0055 }
0056 
0057 inline int SMesh_test::Concatenate()
0058 {
0059     std::cout << "[SMesh_test::Concatenate" << std::endl ; 
0060     glm::tmat4x4<double> a_tr = stra<double>::Translate(0., 0.,  1000., 1. ) ; 
0061     glm::tmat4x4<double> b_tr = stra<double>::Translate(0., 0., -1000., 1. ) ; 
0062     const SMesh* a_mesh = SMesh::LoadTransformed("$MESH_FOLD", &a_tr ); 
0063     const SMesh* b_mesh = SMesh::LoadTransformed("$MESH_FOLD", &b_tr ); 
0064 
0065     std::vector<const SMesh*> submesh ; 
0066     submesh.push_back(a_mesh); 
0067     submesh.push_back(b_mesh); 
0068 
0069     int ridx = 0 ; 
0070     SMesh* mesh = SMesh::Concatenate(submesh, ridx); 
0071     std::cout << mesh->desc(); 
0072     std::cout << "]SMesh_test::Concatenate" << std::endl ; 
0073     return 0 ; 
0074 }
0075 
0076 inline int SMesh_test::main()
0077 {
0078     int rc = 0 ; 
0079     rc += SMesh_test::Load() ;
0080     //rc += SMesh_test::LoadTransformed() ;
0081     //rc += SMesh_test::Concatenate() ;
0082     return rc ; 
0083 }
0084 
0085 int main()
0086 {
0087     return SMesh_test::main(); 
0088 }