mirror of https://github.com/CGAL/cgal
Added a function to get the canonical domain to P3MeshDomain_3
This commit is contained in:
parent
d2ece33849
commit
daf772fb33
|
|
@ -57,6 +57,7 @@ template<class LabelingFunction, class BGT>
|
||||||
class Labeled_periodic_3_mesh_domain_3
|
class Labeled_periodic_3_mesh_domain_3
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
typedef typename BGT::Iso_cuboid_3 Iso_cuboid_3;
|
||||||
|
|
||||||
/// \name Creation
|
/// \name Creation
|
||||||
/// @{
|
/// @{
|
||||||
|
|
@ -75,5 +76,10 @@ Labeled_periodic_3_mesh_domain_3(const LabelingFunction& f,
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Return the user-chosen cube that is the canonical instance of the flat torus.
|
||||||
|
*/
|
||||||
|
const Iso_cuboid_3& canonical_periodic_domain();
|
||||||
|
|
||||||
}; /* end Labeled_periodic_3_mesh_domain_3 */
|
}; /* end Labeled_periodic_3_mesh_domain_3 */
|
||||||
} /* end namespace CGAL */
|
} /* end namespace CGAL */
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,18 @@ evaluate queries at the canonical representative a point (see Section
|
||||||
\sa `CGAL::refine_periodic_3_mesh_3()`
|
\sa `CGAL::refine_periodic_3_mesh_3()`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class Periodic_3MeshDomain_3 {
|
class Periodic_3MeshDomain_3
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/*!
|
||||||
|
Cuboid type.
|
||||||
|
*/
|
||||||
|
typedef unspecified_type Iso_cuboid_3;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Return the user-chosen cube that is the canonical instance of the flat torus.
|
||||||
|
*/
|
||||||
|
const Iso_cuboid_3& canonical_periodic_domain();
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ public:
|
||||||
pgt(bbox)
|
pgt(bbox)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
const Iso_cuboid_3& periodic_bounding_box() const { return Base::bounding_box(); }
|
const Iso_cuboid_3& canonical_periodic_domain() const { return Base::bounding_box(); }
|
||||||
const Periodic_geom_traits& periodic_geom_traits() const { return pgt; }
|
const Periodic_geom_traits& periodic_geom_traits() const { return pgt; }
|
||||||
|
|
||||||
Subdomain_index label(const Point_3& p) const {
|
Subdomain_index label(const Point_3& p) const {
|
||||||
|
|
@ -155,7 +155,7 @@ public:
|
||||||
|
|
||||||
// This whole canonicalization of offsets process seems useless... Hiding it behind macros.
|
// This whole canonicalization of offsets process seems useless... Hiding it behind macros.
|
||||||
#ifdef CGAL_PERIODIC_CANONICALIZE_DUAL_INTERSECTIONS
|
#ifdef CGAL_PERIODIC_CANONICALIZE_DUAL_INTERSECTIONS
|
||||||
Iso_cuboid_3 pbb = r_domain_.periodic_bounding_box();
|
Iso_cuboid_3 pbb = r_domain_.canonical_periodic_domain();
|
||||||
FT dimension [3] = { pbb.xmax()-pbb.xmin(),
|
FT dimension [3] = { pbb.xmax()-pbb.xmin(),
|
||||||
pbb.ymax()-pbb.ymin(),
|
pbb.ymax()-pbb.ymin(),
|
||||||
pbb.zmax()-pbb.zmin() };
|
pbb.zmax()-pbb.zmin() };
|
||||||
|
|
@ -308,7 +308,7 @@ public:
|
||||||
r_domain_.periodic_geom_traits().construct_midpoint_3_object();
|
r_domain_.periodic_geom_traits().construct_midpoint_3_object();
|
||||||
|
|
||||||
#ifdef CGAL_PERIODIC_CANONICALIZE_DUAL_INTERSECTIONS
|
#ifdef CGAL_PERIODIC_CANONICALIZE_DUAL_INTERSECTIONS
|
||||||
Iso_cuboid_3 pbb = r_domain_.periodic_bounding_box();
|
Iso_cuboid_3 pbb = r_domain_.canonical_periodic_domain();
|
||||||
FT dimension [3] = { pbb.xmax() - pbb.xmin(),
|
FT dimension [3] = { pbb.xmax() - pbb.xmin(),
|
||||||
pbb.ymax() - pbb.ymin(),
|
pbb.ymax() - pbb.ymin(),
|
||||||
pbb.zmax() - pbb.zmin() };
|
pbb.zmax() - pbb.zmin() };
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ struct C3t3_initializer_base
|
||||||
bool nonlinear = false,
|
bool nonlinear = false,
|
||||||
const int nb_initial_points = -1)
|
const int nb_initial_points = -1)
|
||||||
{
|
{
|
||||||
c3t3.triangulation().set_domain(domain.periodic_bounding_box());
|
c3t3.triangulation().set_domain(domain.canonical_periodic_domain());
|
||||||
c3t3.triangulation().insert_dummy_points();
|
c3t3.triangulation().insert_dummy_points();
|
||||||
mark_dummy_points(c3t3);
|
mark_dummy_points(c3t3);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue