CELIA3D
1.0
Fluid-structure interaction using cut-cells
|
Inclusion of files and definition of types from the CGAL library. More...
#include <iostream>
#include <stdio.h>
#include <vector>
#include <math.h>
#include <cassert>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/intersections.h>
#include <CGAL/Bbox_3.h>
#include <CGAL/Bbox_2.h>
#include <CGAL/Timer.h>
#include <CGAL/Triangulation_3.h>
#include <CGAL/Triangulation_2.h>
#include <CGAL/Polyhedron_3.h>
#include <CGAL/Tetrahedron_3.h>
#include <CGAL/convex_hull_3.h>
#include <CGAL/squared_distance_3.h>
#include <CGAL/box_intersection_d.h>
#include <CGAL/centroid.h>
#include <CGAL/number_utils.h>
Go to the source code of this file.
Typedefs | |
typedef CGAL::Exact_predicates_exact_constructions_kernel | Kernel |
typedef CGAL::Exact_predicates_inexact_constructions_kernel | IK |
typedef CGAL::Cartesian_converter< Kernel, IK > | Exact_to_Inexact |
typedef CGAL::Cartesian_converter< IK, Kernel > | Inexact_to_Exact |
typedef Kernel::Point_3 | Point_3 |
typedef IK::Point_3 | InexactPoint_3 |
typedef Kernel::Vector_3 | Vector_3 |
typedef Kernel::Line_3 | Line_3 |
typedef Kernel::Plane_3 | Plane_3 |
typedef CGAL::Triangle_3< Kernel > | Triangle_3 |
typedef CGAL::Triangle_3< IK > | InexactTriangle_3 |
typedef std::vector< Triangle_3 > | Triangles |
typedef CGAL::Tetrahedron_3< Kernel > | Tetrahedron |
typedef CGAL::Tetrahedron_3< IK > | InexactTetrahedron |
typedef std::vector< Point_3 > | Points |
typedef Kernel::Segment_3 | Segment_3 |
typedef CGAL::Bbox_3 | Bbox |
typedef CGAL::Polyhedron_3< IK > | InexactPolyhedron_3 |
typedef CGAL::Polyhedron_3< Kernel > | Polyhedron_3 |
typedef CGAL::Triangulation_3< Kernel > | ExactTriangulation |
typedef CGAL::Triangulation_3< IK > | InexactTriangulation |
typedef CGAL::Aff_transformation_3< Kernel > | Aff_transformation_3 |
typedef ExactTriangulation::Finite_facets_iterator | ExactFinite_faces_iterator |
typedef ExactTriangulation::Finite_cells_iterator | ExactFinite_cells_iterator |
typedef InexactTriangulation::Finite_facets_iterator | InexactFinite_faces_iterator |
typedef InexactTriangulation::Finite_cells_iterator | InexactFinite_cells_iterator |
typedef Polyhedron_3::Facet | Facet |
typedef Polyhedron_3::Facet_iterator | Facet_iterator |
typedef Polyhedron_3::Vertex_iterator | Vertex_iterator |
typedef Polyhedron_3::Plane_iterator | Plane_iterator |
typedef Polyhedron_3::Halfedge_around_vertex_circulator | Halfedge_around_vertex_circulator |
typedef InexactPolyhedron_3::Facet | InexactFacet |
typedef InexactPolyhedron_3::Facet_iterator | InexactFacet_iterator |
typedef InexactPolyhedron_3::Vertex_iterator | InexactVertex_iterator |
typedef InexactPolyhedron_3::Plane_iterator | InexactPlane_iterator |
typedef InexactPolyhedron_3::Halfedge_around_vertex_circulator | InexactHalfedge_around_vertex_circulator |
typedef Triangles::iterator | Triangle3_iterator |
typedef CGAL::Triangulation_2< Kernel > | Triangulation_2 |
typedef Kernel::Point_2 | Point_2 |
typedef CGAL::Triangle_2< Kernel > | Triangle_2 |
typedef std::vector< Triangle_2 > | Triangles_2 |
typedef std::vector< Point_2 > | Points_2 |
typedef Kernel::Segment_2 | Segment_2 |
typedef CGAL::Bbox_2 | Bbox_2 |
typedef Triangles_2::iterator | Triangle2_iterator |
Functions | |
void | triang_cellule (const Bbox &cel, Triangles &trianglesB) |
Triangulation of the faces of a fluid cubic cell. More... | |
std::vector< Point_3 > | intersection_bis (const Segment_3 &seg, const Triangle_3 &t) |
Edge/triangle intersection. More... | |
std::vector< Point_3 > | intersection_bis (const Triangle_3 &t1, const Triangle_3 &t2) |
New version of the triangle/triangle intersection. More... | |
bool | inside_tetra (const Tetrahedron &tetra, const Point_3 &P) |
bool | coplanar (std::vector< Point_3 >::iterator begin, std::vector< Point_3 >::iterator end) |
Test whether points are coplanar. More... | |
Inclusion of files and definition of types from the CGAL library.
typedef CGAL::Aff_transformation_3<Kernel> Aff_transformation_3 |
typedef CGAL::Bbox_3 Bbox |
typedef CGAL::Bbox_2 Bbox_2 |
typedef CGAL::Cartesian_converter<Kernel,IK> Exact_to_Inexact |
typedef ExactTriangulation::Finite_cells_iterator ExactFinite_cells_iterator |
typedef ExactTriangulation::Finite_facets_iterator ExactFinite_faces_iterator |
typedef CGAL::Triangulation_3<Kernel> ExactTriangulation |
typedef Polyhedron_3::Facet Facet |
typedef Polyhedron_3::Facet_iterator Facet_iterator |
typedef Polyhedron_3::Halfedge_around_vertex_circulator Halfedge_around_vertex_circulator |
typedef CGAL::Exact_predicates_inexact_constructions_kernel IK |
typedef CGAL::Cartesian_converter<IK,Kernel> Inexact_to_Exact |
typedef InexactTriangulation::Finite_cells_iterator InexactFinite_cells_iterator |
typedef InexactTriangulation::Finite_facets_iterator InexactFinite_faces_iterator |
typedef InexactPolyhedron_3::Halfedge_around_vertex_circulator InexactHalfedge_around_vertex_circulator |
typedef IK::Point_3 InexactPoint_3 |
typedef CGAL::Polyhedron_3<IK> InexactPolyhedron_3 |
typedef CGAL::Tetrahedron_3<IK> InexactTetrahedron |
typedef CGAL::Triangle_3<IK> InexactTriangle_3 |
typedef CGAL::Triangulation_3<IK> InexactTriangulation |
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel |
typedef Kernel::Line_3 Line_3 |
typedef Polyhedron_3::Plane_iterator Plane_iterator |
typedef Kernel::Point_2 Point_2 |
typedef Kernel::Point_3 Point_3 |
typedef CGAL::Polyhedron_3<Kernel> Polyhedron_3 |
typedef Kernel::Segment_2 Segment_2 |
typedef Kernel::Segment_3 Segment_3 |
typedef CGAL::Tetrahedron_3<Kernel> Tetrahedron |
typedef Triangles_2::iterator Triangle2_iterator |
typedef Triangles::iterator Triangle3_iterator |
typedef CGAL::Triangle_2<Kernel> Triangle_2 |
typedef CGAL::Triangle_3<Kernel> Triangle_3 |
typedef std::vector<Triangle_3> Triangles |
typedef std::vector<Triangle_2> Triangles_2 |
typedef CGAL::Triangulation_2<Kernel> Triangulation_2 |
typedef Kernel::Vector_3 Vector_3 |
typedef Polyhedron_3::Vertex_iterator Vertex_iterator |
Test whether points are coplanar.
bool inside_tetra | ( | const Tetrahedron & | tetra, |
const Point_3 & | P | ||
) |
std::vector<Point_3> intersection_bis | ( | const Segment_3 & | seg, |
const Triangle_3 & | t | ||
) |
Edge/triangle intersection.
std::vector<Point_3> intersection_bis | ( | const Triangle_3 & | t1, |
const Triangle_3 & | t2 | ||
) |
New version of the triangle/triangle intersection.
Goal: accelerate the computation, since we do not need the precise intersection type, onl the list of extremal points of the intersection.
Reduces to an edge/triangle intersection in CGAL
Triangulation of the faces of a fluid cubic cell.
Bbox is a 3D bounding box. This allows to use the member functions of class CGAL::Bbox_3 .
cel | Box_3d (fluid cubic cell) |
trianglesB | list of the triangle splitting of the faces of Box |