File indexing completed on 2026-04-09 07:49:18
0001
0002
0003
0004
0005
0006
0007
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
0081
0082 return rc ;
0083 }
0084
0085 int main()
0086 {
0087 return SMesh_test::main();
0088 }