CELIA3D  1.0
Fluid-structure interaction using cut-cells
Typedefs | Functions
intersections.hpp File Reference

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, IKExact_to_Inexact
 
typedef CGAL::Cartesian_converter< IK, KernelInexact_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< KernelTriangle_3
 
typedef CGAL::Triangle_3< IKInexactTriangle_3
 
typedef std::vector< Triangle_3Triangles
 
typedef CGAL::Tetrahedron_3< KernelTetrahedron
 
typedef CGAL::Tetrahedron_3< IKInexactTetrahedron
 
typedef std::vector< Point_3Points
 
typedef Kernel::Segment_3 Segment_3
 
typedef CGAL::Bbox_3 Bbox
 
typedef CGAL::Polyhedron_3< IKInexactPolyhedron_3
 
typedef CGAL::Polyhedron_3< KernelPolyhedron_3
 
typedef CGAL::Triangulation_3< KernelExactTriangulation
 
typedef CGAL::Triangulation_3< IKInexactTriangulation
 
typedef CGAL::Aff_transformation_3< KernelAff_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< KernelTriangulation_2
 
typedef Kernel::Point_2 Point_2
 
typedef CGAL::Triangle_2< KernelTriangle_2
 
typedef std::vector< Triangle_2Triangles_2
 
typedef std::vector< Point_2Points_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_3intersection_bis (const Segment_3 &seg, const Triangle_3 &t)
 Edge/triangle intersection. More...
 
std::vector< Point_3intersection_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...
 

Detailed Description

Inclusion of files and definition of types from the CGAL library.

Authors
Maria Adela Puscas and Laurent Monasse
Warning
Specific coupling file !

Typedef Documentation

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 CGAL::Tetrahedron_3<IK> InexactTetrahedron
typedef CGAL::Triangulation_3<IK> InexactTriangulation
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel
typedef Kernel::Line_3 Line_3
typedef CGAL::Plane_3< Kernel > Plane_3
typedef Polyhedron_3::Plane_iterator Plane_iterator
typedef Kernel::Point_2 Point_2
typedef Kernel::Point_3 Point_3
typedef std::vector<Point_3> Points
typedef std::vector<Point_2> Points_2
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

Function Documentation

bool coplanar ( std::vector< Point_3 >::iterator  begin,
std::vector< Point_3 >::iterator  end 
)

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.

Returns
std:vector<Point_3>
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

void triang_cellule ( const Bbox cel,
Triangles trianglesB 
)

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 .

Parameters
celBox_3d (fluid cubic cell)
trianglesBlist of the triangle splitting of the faces of Box
Warning
Specific coupling procedure !
Returns
void