add quadmesh

This commit is contained in:
AndreaRigoni
2026-03-14 10:28:16 +00:00
parent 6bf9eaf309
commit 20d4967356
13 changed files with 600 additions and 14 deletions

View File

@@ -12,6 +12,7 @@ set(TESTS
AccumulatorTest
VoxImageCopyTest
TriangleMeshTest
QuadMeshTest
BitCodeTest
UnitsTest
)

View File

@@ -0,0 +1,51 @@
/*//////////////////////////////////////////////////////////////////////////////
// CMT Cosmic Muon Tomography project //////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
Copyright (c) 2014, Universita' degli Studi di Padova, INFN sez. di Padova
All rights reserved
Authors: Andrea Rigoni Garola < andrea.rigoni@pd.infn.it >
------------------------------------------------------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3.0 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library.
//////////////////////////////////////////////////////////////////////////////*/
#include "testing-prototype.h"
#include "Math/QuadMesh.h"
#include <iostream>
using namespace uLib;
int main() {
BEGIN_TESTING(Quad Mesh);
QuadMesh mesh;
mesh.AddPoint(Vector3f(0, 0, 0));
mesh.AddPoint(Vector3f(1, 0, 0));
mesh.AddPoint(Vector3f(1, 1, 0));
mesh.AddPoint(Vector3f(0, 1, 0));
mesh.AddQuad(Vector4i(0, 1, 2, 3));
mesh.PrintSelf(std::cout);
ASSERT_EQ(mesh.Points().size(), 4);
ASSERT_EQ(mesh.Quads().size(), 1);
END_TESTING;
}

View File

@@ -35,3 +35,4 @@ printf("..:: Testing " #name " ::..\n");
#define TEST0(val) _fail += (val)!=0
#define END_TESTING return _fail;
#define ASSERT_EQ(a, b) if ((a) != (b)) { printf("Assertion failed: %s != %s\n", #a, #b); _fail++; }