libigl v2.5.0
Loading...
Searching...
No Matches
igl::copyleft::cgal::CSGTree Class Reference

Class for defining and computing a constructive solid geometry result out of a tree of boolean operations on "solid" triangle meshes. More...

#include <CSGTree.h>

Public Types

typedef CGAL::Epeck::FT ExactScalar
 
typedef Eigen::MatrixXi POBF
 
typedef Eigen::Matrix< ExactScalar, Eigen::Dynamic, 3 > MatrixX3E
 
typedef Eigen::VectorXi VectorJ
 

Public Member Functions

 CSGTree ()
 
 CSGTree (const CSGTree &other)
 
CSGTreeoperator= (CSGTree other)
 
 CSGTree (CSGTree &&other)
 
 CSGTree (const CSGTree &A, const CSGTree &B, const MeshBooleanType &type)
 Construct and compute a boolean operation on existing CSGTree nodes.
 
 CSGTree (const CSGTree &A, const CSGTree &B, const std::string &s)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename DerivedV >
 CSGTree (const Eigen::PlainObjectBase< DerivedV > &V, const POBF &F)
 "Leaf" node with identity operation on assumed "solid" mesh (V,F)
 
const MatrixX3EV () const
 
template<typename DerivedV >
DerivedV cast_V () const
 
const POBFF () const
 
const VectorJJ () const
 
const size_t & number_of_birth_faces () const
 

Friends

void swap (CSGTree &first, CSGTree &second)
 

Detailed Description

Class for defining and computing a constructive solid geometry result out of a tree of boolean operations on "solid" triangle meshes.

Member Typedef Documentation

◆ ExactScalar

◆ POBF

typedef Eigen::MatrixXi igl::copyleft::cgal::CSGTree::POBF

◆ MatrixX3E

typedef Eigen::Matrix<ExactScalar,Eigen::Dynamic,3> igl::copyleft::cgal::CSGTree::MatrixX3E

◆ VectorJ

typedef Eigen::VectorXi igl::copyleft::cgal::CSGTree::VectorJ

Constructor & Destructor Documentation

◆ CSGTree() [1/6]

igl::copyleft::cgal::CSGTree::CSGTree ( )
inline

◆ CSGTree() [2/6]

igl::copyleft::cgal::CSGTree::CSGTree ( const CSGTree other)
inline

◆ CSGTree() [3/6]

igl::copyleft::cgal::CSGTree::CSGTree ( CSGTree &&  other)
inline

◆ CSGTree() [4/6]

igl::copyleft::cgal::CSGTree::CSGTree ( const CSGTree A,
const CSGTree B,
const MeshBooleanType type 
)
inline

Construct and compute a boolean operation on existing CSGTree nodes.

Parameters
[in]ASolid result of previous CSG operation (or identity, see below)
[in]BSolid result of previous CSG operation (or identity, see below)
[in]typetype of mesh boolean to compute

◆ CSGTree() [5/6]

igl::copyleft::cgal::CSGTree::CSGTree ( const CSGTree A,
const CSGTree B,
const std::string &  s 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ CSGTree() [6/6]

template<typename DerivedV >
igl::copyleft::cgal::CSGTree::CSGTree ( const Eigen::PlainObjectBase< DerivedV > &  V,
const POBF F 
)
inline

"Leaf" node with identity operation on assumed "solid" mesh (V,F)

Parameters
[in]VV by 3 list of mesh vertices (in any precision, will be converted to exact)
[in]FF by 3 list of mesh face indices into V

Member Function Documentation

◆ operator=()

CSGTree & igl::copyleft::cgal::CSGTree::operator= ( CSGTree  other)
inline

◆ V()

const MatrixX3E & igl::copyleft::cgal::CSGTree::V ( ) const
inline

◆ cast_V()

template<typename DerivedV >
DerivedV igl::copyleft::cgal::CSGTree::cast_V ( ) const
inline

◆ F()

const POBF & igl::copyleft::cgal::CSGTree::F ( ) const
inline

◆ J()

const VectorJ & igl::copyleft::cgal::CSGTree::J ( ) const
inline

◆ number_of_birth_faces()

const size_t & igl::copyleft::cgal::CSGTree::number_of_birth_faces ( ) const
inline

Friends And Related Symbol Documentation

◆ swap

void swap ( CSGTree first,
CSGTree second 
)
friend

The documentation for this class was generated from the following file: