Merge remote-tracking branch 'cgal/master' into Demo-T3_item-mgimeno

This commit is contained in:
Maxime Gimeno 2021-09-02 14:56:07 +02:00
commit 08508ff1fc
68 changed files with 10688 additions and 135 deletions

View File

@ -6,7 +6,7 @@ on:
jobs:
build:
if: github.event.comment.user.login == 'maxGimeno' && contains(github.event.comment.body, '/testme')
if: (github.event.comment.user.login == 'sloriot' || github.event.comment.user.login == 'lrineau') && contains(github.event.comment.body, '/testme')
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
@ -61,7 +61,7 @@ jobs:
uses: actions/github-script@v3
with:
script: |
const address = "The testsuite is lauched. results will be found, after it is done, here : https://cgal.geometryfactory.com/~mgimeno/test_suite/TESTRESULTS/index.shtml "
const address = "The testsuite is lauched. results will be found, after it is done, here : https://cgal.geometryfactory.com/~cgaltest/test_suite/TESTRESULTS/index.shtml "
github.issues.createComment({
owner: "CGAL",
repo: "cgal",

View File

@ -1,4 +1,5 @@
#include <CGAL/Installation/internal/disable_deprecation_warnings_and_errors.h>
#include <fstream>
#include <iostream>
#include <CGAL/Surface_mesh.h>

View File

@ -206,9 +206,8 @@ functor followed by the suffix `_object`.For example, the function that returns
all the platforms the library supports. In particular, it should not
contain the characters ':', '*', or ' '.
<LI>Internal header files - which are not documented to the user - should
have <TT>/internal/</TT> as a directory higher up in their hierarchy.
For example <TT>CGAL/internal/foo.h</TT> or
<TT>CGAL/Package/internal/predicates/my_pred.h</TT>.
have <TT>Package/internal/</TT> as a directory higher up in their hierarchy.
For example <TT>CGAL/Triangulation_2/internal/predicates/my_pred.h</TT>.
</UL>
\section secprogramming_conventions Programming conventions

View File

@ -176,17 +176,17 @@ void main(void)
// compatibility shaders
const char vertex_source_color_comp[]=R"DELIM(
in highp vec4 vertex;
in highp vec3 normal;
in highp vec3 color;
varying highp vec4 vertex;
varying highp vec3 normal;
varying highp vec3 color;
uniform highp mat4 mvp_matrix;
uniform highp mat4 mv_matrix;
uniform highp float point_size;
out highp vec4 fP;
out highp vec3 fN;
out highp vec4 fColor;
varying highp vec4 fP;
varying highp vec3 fN;
varying highp vec4 fColor;
void main(void)
{
@ -204,9 +204,9 @@ void main(void)
)DELIM";
const char fragment_source_color_comp[]=R"DELIM(
in highp vec4 fP;
in highp vec3 fN;
in highp vec4 fColor;
varying highp vec4 fP;
varying highp vec3 fN;
varying highp vec4 fColor;
uniform highp vec4 light_pos;
uniform highp vec4 light_diff;
@ -214,8 +214,6 @@ uniform highp vec4 light_spec;
uniform highp vec4 light_amb;
uniform highp float spec_power ;
out highp vec4 out_color;
void main(void)
{
highp vec3 L = light_pos.xyz - fP.xyz;
@ -229,18 +227,18 @@ void main(void)
highp vec4 diffuse = max(dot(N,L), 0.0) * light_diff * fColor;
highp vec4 specular = pow(max(dot(R,V), 0.0), spec_power) * light_spec;
out_color = light_amb*fColor + diffuse;
gl_FragColor = light_amb*fColor + diffuse;
}
)DELIM";
const char vertex_source_p_l_comp[]=R"DELIM(
in highp vec4 vertex;
in highp vec3 color;
varying highp vec4 vertex;
varying highp vec3 color;
uniform highp mat4 mvp_matrix;
uniform highp float point_size;
out highp vec4 fColor;
varying highp vec4 fColor;
void main(void)
{
@ -251,11 +249,10 @@ void main(void)
)DELIM";
const char fragment_source_p_l_comp[]=R"DELIM(
in highp vec4 fColor;
out highp vec4 out_color;
varying highp vec4 fColor;
void main(void)
{
out_color = fColor;
gl_FragColor = fColor;
}
)DELIM";

View File

@ -15,7 +15,7 @@
#include <CGAL/license/GraphicsView.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
@ -887,7 +887,7 @@ protected:
bool is_process;
};
typedef CGAL::Triangulation_2_projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Triangulation_vertex_base_with_info_2<Vertex_info, P_traits> Vb;
typedef CGAL::Triangulation_face_base_with_info_2<Face_info, P_traits> Fb1;
typedef CGAL::Constrained_triangulation_face_base_2<P_traits, Fb1> Fb;

View File

@ -39,6 +39,8 @@ Release date: December 2021
- Added `construct_centroid_2_object()` and `compute_determinant_2_object()` in `Projection_traits_xy_3`, `Projection_traits_xz_3`,
and`Projection_traits_yz_3` classes.
- Added documentation for the class `Projection_traits_3`, which enables the use of 2D algorithms on the projections of 3D data onto an arbitrary plane.
### [Polygon Mesh Processing](https://doc.cgal.org/5.4/Manual/packages.html#PkgPolygonMeshProcessing)
- Added the function `CGAL::Polygon_mesh_processing::match_faces()`, which, given two polygon meshes,

View File

@ -18,7 +18,6 @@ and LICENSE.LGPL.
The following files are modified versions taken from Boost and are licensed
under the Boost Software License (see LICENSE.BSL).
- include/CGAL/auto_link/auto_link.h
- include/CGAL/internal/container_fwd_fixed.hpp
- include/CGAL/STL_Extension/internal/boost/array_binary_tree.hpp
- include/CGAL/STL_Extension/internal/boost/mutable_heap.hpp
- include/CGAL/STL_Extension/internal/boost/mutable_queue.hpp

View File

@ -0,0 +1,51 @@
namespace CGAL{
/*!
\ingroup kernel_classes
The class `Projection_traits_3` works similarly to the `Projection_traits_xy_3`,
`Projection_traits_xz_3`, and `Projection_traits_yz_3` traits classes, enabling
the use of 2D algorithms on the projections of 3D data onto an arbitrary plane.
\tparam K must be a model of `Kernel`
\note Internal constructions (projections) are used in the predicate and
construction functors of this class. If `K` is a model of `Kernel` providing exact
constructions or if `K` is a `CGAL::Filtered_kernel` (such as for
`CGAL::Exact_predicates_inexact_constructions_kernel`), this class automatically
provides exact predicates.
\cgalModels `TriangulationTraits_2`
\cgalModels `DelaunayTriangulationTraits_2`
\cgalModels `ConstrainedTriangulationTraits_2`
\cgalModels `PolygonTraits_2`
\sa `CGAL::Projection_traits_xy_3`
\sa `CGAL::Projection_traits_xz_3`
\sa `CGAL::Projection_traits_yz_3`
*/
template <class K>
class Projection_traits_3
{
public:
/// \name Functors
/// The functors provided by this class are those listed in the
/// concepts. The functors operate on the 2D projections of their
/// arguments. They come with preconditions that projections of the
/// arguments are non-degenerate, e.g. a line segment does not project
/// on a single point, two points do not project onto the same point, etc.
/// \name Creation
///@{
/*!
* \brief Constructor
*
* \param normal a vector orthogonal to the projection plane.
*/
Projection_traits_3(const typename K::Vector_3& normal);
///@}
};
} // end namespace CGAL

View File

@ -13,12 +13,13 @@ deal with projections on the
`zx`- and the `zy`-plane,
respectively.
\cgalHeading{Parameters}
\tparam K must be a model of `Kernel`.
The template parameter `K` has to
be instantiated by a model of the `Kernel` concept.
`Projection_traits_xy_3` uses types
and predicates defined in `K`.
\note Internal constructions (projections) are used in the predicate and
construction functors of this class. If `K` is a model of `Kernel` providing exact
constructions or if `K` is a `CGAL::Filtered_kernel` (such as for
`CGAL::Exact_predicates_inexact_constructions_kernel`), this class automatically
provides exact predicates.
\cgalModels The class is a model of several 2D triangulation traits class concepts,
except that it does not provide the type and constructors
@ -33,6 +34,7 @@ and predicates defined in `K`.
\cgalModels `AnalyticWeightTraits_2`
\cgalModels `BarycentricTraits_2`
\sa `CGAL::Projection_traits_3`
*/
template< typename K >
class Projection_traits_xy_3 {

View File

@ -8898,7 +8898,7 @@ public:
/*!
returns true iff the \f$ x\f$-coordinate of `p` is smaller than the
\f$ x\f$-coordinate of `q` or if the are the same and
\f$ x\f$-coordinate of `q` or if they are the same and
the \f$ y\f$-coordinate of `p` is smaller than the \f$ y\f$-coordinate of `q`, or,
if both \f$ x\f$- and \f$ y\f$- coordinate are identical and
the \f$ z\f$-coordinate of `p` is smaller than the \f$ z\f$-coordinate of `q`.
@ -8928,7 +8928,7 @@ public:
/*!
returns true iff the \f$ x\f$-coordinate of `p` is smaller than the
\f$ x\f$-coordinate of `q` or if the are the same and
\f$ x\f$-coordinate of `q` or if they are the same and
the \f$ y\f$-coordinate of `p` is smaller than the \f$ y\f$-coordinate of `q`.
*/
bool operator()(const Kernel::Point_2&p,
@ -8957,7 +8957,7 @@ public:
/*!
returns true iff the \f$ x\f$-coordinate of `p` is smaller than the
\f$ x\f$-coordinate of `q` or if the are the same and
\f$ x\f$-coordinate of `q` or if they are the same and
the \f$ y\f$-coordinate of `p` is smaller than the \f$ y\f$-coordinate of `q`.
*/
bool operator()(const Kernel::Point_3&p,
@ -9040,7 +9040,7 @@ public:
/*!
returns true iff the \f$ y\f$-coordinate of `p` is smaller than the
\f$ y\f$-coordinate of `q` or if the are the same and
\f$ y\f$-coordinate of `q` or if they are the same and
the \f$ x\f$-coordinate of `p` is smaller than the \f$ x\f$-coordinate of `q`.
*/
bool operator()(const Kernel::Point_2&p,

View File

@ -2,3 +2,4 @@
PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - 2D and 3D Linear Geometry Kernel"
EXAMPLE_PATH += ${CGAL_Filtered_kernel_EXAMPLE_DIR}
EXAMPLE_PATH += ${CGAL_Triangulation_2_EXAMPLE_DIR}

View File

@ -71,6 +71,7 @@
- `CGAL::Simple_cartesian<FieldNumberType>`
- `CGAL::Simple_homogeneous<RingNumberType>`
- `CGAL::Projection_traits_xy_3<K>`
- `CGAL::Projection_traits_3<K>`
\cgalCRPSection{Predefined Kernels}

View File

@ -13,4 +13,5 @@
\example Kernel_23/points_and_segment.cpp
\example Kernel_23/surprising.cpp
\example Kernel_23/exact.cpp
\example Triangulation_2/triangulation_projection_traits.cpp
*/

View File

@ -5,30 +5,27 @@
//
// $URL$
// $Id$
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
//
// Author(s) : Laurent Rineau
#ifndef CGAL_INTERNAL_TRIANGULATION_2_FILTERED_PROJECTION_TRAITS_3_H
#define CGAL_INTERNAL_TRIANGULATION_2_FILTERED_PROJECTION_TRAITS_3_H
#ifndef CGAL_INTERNAL_FILTERED_PROJECTION_TRAITS_3_H
#define CGAL_INTERNAL_FILTERED_PROJECTION_TRAITS_3_H
#include <CGAL/license/Triangulation_2.h>
#include <CGAL/Triangulation_2/internal/Triangulation_2_projection_traits_base_3.h>
#include <CGAL/Kernel_23/internal/Projection_traits_base_3.h>
#include <CGAL/Filtered_predicate_with_state.h>
namespace CGAL {
template < class Filtered_kernel >
class Triangulation_2_filtered_projection_traits_3
: public Triangulation_2_projection_traits_base_3<Filtered_kernel>
class Filtered_projection_traits_3
: public Projection_traits_base_3<Filtered_kernel>
{
typedef Filtered_kernel K;
typedef Triangulation_2_filtered_projection_traits_3<K> Self;
typedef Triangulation_2_projection_traits_base_3<K> Base;
typedef Filtered_projection_traits_3<K> Self;
typedef Projection_traits_base_3<K> Base;
typedef typename K::Exact_kernel Exact_kernel;
typedef typename K::Approximate_kernel Approximate_kernel;
@ -36,11 +33,11 @@ class Triangulation_2_filtered_projection_traits_3
typedef typename K::C2F C2F;
public:
typedef Triangulation_2_projection_traits_base_3<Exact_kernel> Exact_traits;
typedef Triangulation_2_projection_traits_base_3<Approximate_kernel> Filtering_traits;
typedef Projection_traits_base_3<Exact_kernel> Exact_traits;
typedef Projection_traits_base_3<Approximate_kernel> Filtering_traits;
public:
explicit Triangulation_2_filtered_projection_traits_3(const typename K::Vector_3& n)
explicit Filtered_projection_traits_3(const typename K::Vector_3& n)
: Base(n)
{
}
@ -73,9 +70,9 @@ public:
CGAL_TRIANGULATION_2_PROJ_TRAITS_FILTER_PRED(Compare_y_2,
compare_y_2_object,
base2)
}; // end class Triangulation_2_projection_traits_base_3<Filtered_kernel>
}; // end class Projection_traits_base_3<Filtered_kernel>
} // end namespace CGAL
#endif // CGAL_INTERNAL_TRIANGULATION_2_FILTERED_PROJECTION_TRAITS_3_H
#endif // CGAL_INTERNAL_FILTERED_PROJECTION_TRAITS_3_H

View File

@ -833,6 +833,8 @@ public:
}
};
// This is for projection traits along a specific canonical plane (xy, yz, xz)
// The generic class for an arbitrary normal is CGAL::Projection_traits_3<K> (not in `internal`)
template < class R, int dim >
class Projection_traits_3 {
public:

View File

@ -5,17 +5,14 @@
//
// $URL$
// $Id$
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
//
// Author(s) : Laurent Rineau
#ifndef CGAL_INTERNAL_TRIANGULATION_2_PROJECTION_TRAITS_BASE_3_H
#define CGAL_INTERNAL_TRIANGULATION_2_PROJECTION_TRAITS_BASE_3_H
#include <CGAL/license/Triangulation_2.h>
#ifndef CGAL_INTERNAL_PROJECTION_TRAITS_BASE_3_H
#define CGAL_INTERNAL_PROJECTION_TRAITS_BASE_3_H
#include <CGAL/Profile_timer.h>
#include <CGAL/intersections.h>
@ -379,9 +376,9 @@ public:
template < class Kernel >
class Triangulation_2_projection_traits_base_3
class Projection_traits_base_3
{
typedef Triangulation_2_projection_traits_base_3<Kernel> Self;
typedef Projection_traits_base_3<Kernel> Self;
typename Kernel::Vector_3 n, b1, b2;
@ -389,7 +386,7 @@ public:
typedef typename Kernel::Vector_3 Vector_3;
explicit Triangulation_2_projection_traits_base_3(const Vector_3& n_)
explicit Projection_traits_base_3(const Vector_3& n_)
: n(n_)
{
typedef typename Kernel::FT FT;
@ -589,8 +586,8 @@ public:
return Projection_to_plan(plane_point, *this);
}
}; // end class Triangulation_2_projection_traits_base_3<Kernel>
}; // end class Projection_traits_base_3<Kernel>
} // end namespace CGAL
#endif // CGAL_INTERNAL_TRIANGULATION_2_PROJECTION_TRAITS_BASE_3_H
#endif // CGAL_INTERNAL_PROJECTION_TRAITS_BASE_3_H

View File

@ -0,0 +1,47 @@
// Copyright (c) 2009 GeometryFactory (France)
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org).
//
// $URL$
// $Id$
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
//
// Author(s) : Laurent Rineau
#ifndef CGAL_PROJECTION_TRAITS_3_H
#define CGAL_PROJECTION_TRAITS_3_H
#include <CGAL/Kernel_23/internal/Filtered_projection_traits_3.h>
namespace CGAL {
// This declaration is needed to break the cyclic dependency.
template < class Filtered_kernel >
class Filtered_projection_traits_3;
template <class Kernel, bool Has_filtered_predicates=Kernel::Has_filtered_predicates>
class Projection_traits_3
: public Projection_traits_base_3<Kernel>
{
public:
explicit Projection_traits_3(const typename Kernel::Vector_3& n_)
: Projection_traits_base_3<Kernel>(n_)
{}
};
template <class Kernel>
class Projection_traits_3<Kernel, true>
: public Filtered_projection_traits_3<Kernel>
{
public:
explicit Projection_traits_3(const typename Kernel::Vector_3& n_)
: Filtered_projection_traits_3<Kernel>(n_)
{}
};
} // namespace CGAL
#endif // CGAL_PROJECTION_TRAITS_3_H

View File

@ -14,7 +14,7 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
@ -178,7 +178,7 @@ struct Face_info {
bool is_process;
};
typedef CGAL::Triangulation_2_projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Triangulation_vertex_base_with_info_2<Vertex_info, P_traits> Vb;
typedef CGAL::Triangulation_face_base_with_info_2<Face_info,P_traits> Fb1;

View File

@ -22,7 +22,7 @@
#include <QGLBuffer>
#include <QOpenGLShaderProgram>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
@ -211,7 +211,7 @@ class Basic_viewer : public CGAL::QGLViewer, public QOpenGLFunctions
bool is_process;
};
typedef CGAL::Triangulation_2_projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Triangulation_vertex_base_with_info_2<Vertex_info, P_traits> Vb;
typedef CGAL::Triangulation_face_base_with_info_2<Face_info, P_traits> Fb1;

View File

@ -3,12 +3,12 @@
#include <CGAL/Delaunay_mesher_2.h>
#include <CGAL/Delaunay_mesh_face_base_2.h>
#include <CGAL/Delaunay_mesh_size_criteria_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <iostream>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K1;
typedef CGAL::Triangulation_2_projection_traits_3<K1> K;
typedef CGAL::Projection_traits_3<K1> K;
typedef CGAL::Triangulation_vertex_base_2<K> Vb;
typedef CGAL::Delaunay_mesh_face_base_2<K> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;

View File

@ -22,7 +22,7 @@
#include <CGAL/Cartesian_converter.h>
#include <boost/unordered_map.hpp>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Kernel/global_functions_3.h>
@ -210,8 +210,8 @@ struct Shell_polygons_visitor
}
// cases where a cdt is needed
typedef typename Nef_polyhedron::Kernel Kernel;
typedef Triangulation_2_projection_traits_3<Kernel> P_traits;
typedef typename Nef_polyhedron::Kernel Kernel;
typedef Projection_traits_3<Kernel> P_traits;
typedef Triangulation_vertex_base_with_info_2<std::size_t, P_traits> Vb;
typedef Triangulation_face_base_with_info_2<FaceInfo2,P_traits> Fbb;
typedef Constrained_triangulation_face_base_2<P_traits,Fbb> Fb;

View File

@ -23,7 +23,7 @@
#include <CGAL/Default.h>
#include <CGAL/boost/graph/Euler_operations.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <boost/container/flat_map.hpp>
@ -387,9 +387,9 @@ private:
typedef Non_manifold_feature_map<TriangleMesh> NM_features_map;
// typedef for the CDT
typedef Intersection_nodes<TriangleMesh, VertexPointMap1, VertexPointMap2,
Predicates_on_constructions_needed> INodes;
Predicates_on_constructions_needed> INodes;
typedef typename INodes::Exact_kernel EK;
typedef Triangulation_2_projection_traits_3<EK> CDT_traits;
typedef Projection_traits_3<EK> CDT_traits;
typedef Triangulation_vertex_base_with_info_2<Node_id,CDT_traits> Vb;
typedef Constrained_triangulation_face_base_2<CDT_traits> Fb;
typedef Triangulation_data_structure_2<Vb,Fb> TDS_2;

View File

@ -28,7 +28,7 @@
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <queue>
#endif
@ -1374,7 +1374,7 @@ triangulate_hole_polyline_with_cdt(const PointRange& points,
}
// Checking the hole simplicity.
typedef Triangulation_2_projection_traits_3<Traits> P_traits;
typedef CGAL::Projection_traits_3<Traits> P_traits;
const P_traits p_traits(avg_normal);
if (!is_simple_2(P.begin(), P.end() - 1, p_traits)) {
// std::cerr << "WARNING: simplicity, cdt 2 falls back to the original solution!" << std::endl;

View File

@ -24,7 +24,7 @@
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#else
#include <CGAL/use.h>
#endif
@ -152,7 +152,7 @@ public:
#ifndef CGAL_TRIANGULATE_FACES_DO_NOT_USE_CDT2
if (use_cdt)
{
typedef CGAL::Triangulation_2_projection_traits_3<Traits> P_traits;
typedef CGAL::Projection_traits_3<Traits> P_traits;
typedef CGAL::Triangulation_vertex_base_with_info_2<halfedge_descriptor,
P_traits> Vb;
typedef CGAL::Triangulation_face_base_with_info_2<Face_info,

View File

@ -157,6 +157,7 @@ MainWindow::MainWindow(const QStringList &keywords, bool verbose, QWidget* paren
CGAL::Three::Three::s_mainwindow = this;
menu_map[ui->menuOperations->title()] = ui->menuOperations;
this->verbose = verbose;
is_locked = false;
// remove the Load Script menu entry, when the demo has not been compiled with QT_SCRIPT_LIB
#if !defined(QT_SCRIPT_LIB)
ui->menuBar->removeAction(ui->actionLoadScript);
@ -167,6 +168,8 @@ MainWindow::MainWindow(const QStringList &keywords, bool verbose, QWidget* paren
viewer_window = new SubViewer(ui->mdiArea, this, nullptr);
viewer = viewer_window->viewer;
CGAL::Three::Three::s_mainviewer = viewer;
CGAL::Three::Three::s_mutex = &mutex;
CGAL::Three::Three::s_wait_condition = &wait_condition;
viewer->setObjectName("mainViewer");
viewer_window->showMaximized();
viewer_window->setWindowFlags(
@ -682,12 +685,17 @@ bool MainWindow::load_plugin(QString fileName, bool blacklisted)
bool init2 = initIOPlugin(obj);
if (!init1 && !init2)
{
//qdebug << "not for this program";
pluginsStatus_map[name] = QString("Not for this program.");
}
else
//qdebug << "success";
else{
#ifdef QT_SCRIPT_LIB
QScriptValue objectValue =
script_engine->newQObject(obj);
script_engine->globalObject().setProperty(obj->objectName(), objectValue);
evaluate_script_quiet(QString("plugins.push(%1);").arg(obj->objectName()));
#endif
pluginsStatus_map[name] = QString("success");
}
}
else if(!do_load)
{
@ -695,7 +703,6 @@ bool MainWindow::load_plugin(QString fileName, bool blacklisted)
ignored_map[name] = true;
}
else{
//qdebug << "error: " << qPrintable(loader.errorString());
pluginsStatus_map[name] = loader.errorString();
}
@ -826,12 +833,6 @@ bool MainWindow::initPlugin(QObject* obj)
obj->setParent(this);
plugin->init(this, this->scene, this);
plugins << qMakePair(plugin, obj->objectName());
#ifdef QT_SCRIPT_LIB
QScriptValue objectValue =
script_engine->newQObject(obj);
script_engine->globalObject().setProperty(obj->objectName(), objectValue);
evaluate_script_quiet(QString("plugins.push(%1);").arg(obj->objectName()));
#endif
Q_FOREACH(QAction* action, plugin->actions()) {
// If action does not belong to the menus, add it to "Operations" menu
@ -1010,7 +1011,6 @@ void MainWindow::computeViewerBBox(CGAL::qglviewer::Vec& vmin, CGAL::qglviewer::
const double zmax = bbox.zmax();
vmin = CGAL::qglviewer::Vec(xmin, ymin, zmin);
vmax= CGAL::qglviewer::Vec(xmax, ymax, zmax);
@ -1287,6 +1287,7 @@ QList<Scene_item*> MainWindow::loadItem(QFileInfo fileinfo,
QString("File %1 is not a readable file.")
.arg(fileinfo.absoluteFilePath()));
}
QCursor tmp_cursor(Qt::WaitCursor);
CGAL::Three::Three::CursorScopeGuard guard(tmp_cursor);
QList<Scene_item*> result = loader->load(fileinfo, ok, add_to_scene);
@ -2223,6 +2224,7 @@ void MainWindow::on_actionPreferences_triggered()
QDialog dialog(this);
Ui::PreferencesDialog prefdiag;
prefdiag.setupUi(&dialog);
float lineWidth[2];
if(!viewer->isOpenGL_4_3())
viewer->glGetFloatv(GL_LINE_WIDTH_RANGE, lineWidth);
@ -3398,7 +3400,6 @@ void MainWindow::setupViewer(Viewer* viewer, SubViewer* subviewer)
viewer->setShareCam(b, session);
});
#endif
}
void MainWindow::on_actionAdd_Viewer_triggered()
@ -3695,6 +3696,47 @@ void MainWindow::on_action_Save_triggered()
}
}
void MainWindow::test_all_actions()
{
int nb_items = scene->numberOfEntries();
selectSceneItem(0);
Q_FOREACH(PluginNamePair pnp, plugins)
{
Polyhedron_demo_plugin_interface* plugin = pnp.first;
Q_FOREACH(QAction* action, plugin->actions()){
if(plugin->applicable(action)){
qDebug()<<"Testing "<<pnp.second<<"and "<<action->text()<<" on";
qDebug()<<scene->item(scene->mainSelectionIndex())->name()<<"...";
action->triggered();
getMutex()->lock();
if(isLocked())
{
getMutex()->unlock();
getMutex()->lock();
getWaitCondition()->wait(getMutex());
getMutex()->unlock();
//get the "done event" that add items after the meshing thread is finished to execute before we start the next action.
QCoreApplication::processEvents();
}
getMutex()->unlock();
while(scene->numberOfEntries() > nb_items)
{
scene->erase(nb_items);
}
selectSceneItem(0);
//if the item is hidden, the scene's bbox is 0 and that badly
//messes with the offset meshing, for example.
scene->item(scene->mainSelectionIndex())->setVisible(true);
reloadItem();
selectSceneItem(0);
}
}
}
while(scene->numberOfEntries() > 0)
scene->erase(0);
}
void MainWindow::on_actionLoad_a_Scene_from_a_Script_File_triggered()
{
bool do_download = false;

View File

@ -20,6 +20,8 @@
#include <QModelIndex>
#include <QMdiSubWindow>
#include <QLineEdit>
#include <QMutex>
#include <QWaitCondition>
class Scene;
class Viewer;
@ -95,6 +97,7 @@ public:
CGAL::Three::Polyhedron_demo_io_plugin_interface*,
bool& ok,
bool add_to_scene=true);
void computeViewerBBox(CGAL::qglviewer::Vec &vmin, CGAL::qglviewer::Vec &vmax);
void updateViewerBbox(Viewer* vi, bool recenter, CGAL::qglviewer::Vec min,
CGAL::qglviewer::Vec max);
@ -446,6 +449,8 @@ public:
//! Calls evaluate_script(script, filename, true).
void evaluate_script_quiet(QString script,
const QString & fileName = QString());
QMutex mutex;
QWaitCondition wait_condition;
#endif
public Q_SLOTS:
void on_actionSa_ve_Scene_as_Script_triggered();
@ -453,6 +458,7 @@ public Q_SLOTS:
void toggleFullScreen();
void setDefaultSaveDir();
void invalidate_bbox(bool do_recenter);
void test_all_actions();
private:
SubViewer* viewer_window;
QList<QDockWidget *> visibleDockWidgets;
@ -470,6 +476,7 @@ private Q_SLOTS:
void recenterViewer();
private:
bool is_locked;
QMap<QAction*, QMenu*> action_menu_map;
};

View File

@ -249,6 +249,8 @@ public:
m_red_ramp.build_red();
m_blue_ramp.build_blue();
m_thermal_ramp.build_thermal();
facet_sm_trees = nullptr;
edge_sm_trees = nullptr;
setTriangleContainer(1, new Tc(Vi::PROGRAM_NO_SELECTION, false));
setTriangleContainer(0, new Tc(Vi::PROGRAM_WITH_TEXTURE, false));
setEdgeContainer(0, new Ec(Vi::PROGRAM_NO_SELECTION, false));

View File

@ -134,8 +134,8 @@ if(3MF_LIBRARIES
AND 3MF_INCLUDE_DIR
AND EXISTS "${3MF_INCLUDE_DIR}/Model/COM/NMR_DLLInterfaces.h")
include_directories(${3MF_INCLUDE_DIR})
polyhedron_demo_plugin(3mf_io_plugin 3mf_io_plugin KEYWORDS Viewer PMP)
target_link_libraries(3mf_io_plugin PRIVATE scene_surface_mesh_item scene_points_with_normal_item scene_polylines_item ${3MF_LIBRARIES})
polyhedron_demo_plugin(io_3mf_plugin 3mf_io_plugin KEYWORDS Viewer PMP)
target_link_libraries(io_3mf_plugin PRIVATE scene_surface_mesh_item scene_points_with_normal_item scene_polylines_item ${3MF_LIBRARIES})
target_compile_definitions(3mf_io_plugin PRIVATE -DCGAL_LINKED_WITH_3MF)
else()
message(

View File

@ -131,12 +131,13 @@ Polyhedron_demo_c3t3_binary_io_plugin::load(
if(CGAL::build_triangulation_from_file<C3t3::Triangulation, true>(in, item->c3t3().triangulation(), true))
{
item->c3t3().rescan_after_load_of_triangulation();
item->c3t3().rescan_after_load_of_triangulation(); //fix counters for facets and cells
for( C3t3::Triangulation::Finite_cells_iterator
cit = item->c3t3().triangulation().finite_cells_begin();
cit != item->c3t3().triangulation().finite_cells_end();
++cit)
{
CGAL_assertion(cit->subdomain_index() >= 0);
if(cit->subdomain_index() != C3t3::Triangulation::Cell::Subdomain_index())
item->c3t3().add_to_complex(cit, cit->subdomain_index());
for(int i=0; i < 4; ++i)

View File

@ -8,7 +8,6 @@
#include <QObject>
#include <QAction>
#include <QMainWindow>
#include <QApplication>
#include <QtPlugin>
#include "Scene_c3t3_item.h"
@ -335,6 +334,9 @@ boost::optional<QString> Mesh_3_plugin::get_items_or_return_error_string() const
features_protection_available = false;
if (auto poly_items = get<Polyhedral_mesh_items>(&*items)) {
auto& sm_items = poly_items->sm_items;
if(sm_items.empty()) {
return tr("ERROR: there must be at least one surface mesh item.");
}
for (auto sm_item : sm_items) {
if (nullptr == sm_item->polyhedron()) {
return tr("ERROR: no data in selected item %1").arg(sm_item->name());
@ -727,6 +729,10 @@ void Mesh_3_plugin::mesh_3(const Mesh_type mesh_type,
// Launch thread
source_item_ = item;
source_item_name_ = item_name;
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::isLocked() = true;
CGAL::Three::Three::getMutex()->unlock();
launch_thread(thread);
QApplication::restoreOverrideCursor();
@ -869,6 +875,9 @@ treat_result(Scene_item& source_item,
scene->setSelectedItem(new_item_id);
delete result_item;
}
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::isLocked() = false;
CGAL::Three::Three::getMutex()->unlock();
}
#include "Mesh_3_plugin.moc"

View File

@ -330,6 +330,7 @@ launch()
// Ensure c3t3 is ok (usefull if process has been stop by the user)
mesher_->fix_c3t3();
std::cerr<<"Done."<<std::endl;
}

View File

@ -57,7 +57,11 @@ run()
CGAL::Three::Three::CursorScopeGuard guard(Qt::BusyCursor);
f_->launch();
time_ = double(timer.elapsed()) / 1000;
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::getWaitCondition()->wakeAll();
CGAL::Three::Three::getMutex()->unlock();
Q_EMIT done(this);
}

View File

@ -36,7 +36,20 @@ public:
{
if(scene->mainSelectionIndex() != -1
&& scene->item(scene->mainSelectionIndex())->isFinite())
{
const Scene_interface::Item_id index = scene->mainSelectionIndex();
Scene_facegraph_item* item = qobject_cast<Scene_facegraph_item*>(scene->item(index));
Scene_polyhedron_selection_item* selection_item =
qobject_cast<Scene_polyhedron_selection_item*>(scene->item(index));
Scene_points_with_normal_item* point_set_item =
qobject_cast<Scene_points_with_normal_item*>(scene->item(index));
if(!item && !selection_item && !point_set_item)
return false;
return true;
}
return false;
}

View File

@ -391,6 +391,9 @@ public:
approx,
edge_size,
tag_index);
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::getWaitCondition()->wakeAll();
CGAL::Three::Three::getMutex()->unlock();
Q_EMIT resultReady(new_mesh);
}
Q_SIGNALS:
@ -623,6 +626,9 @@ void Polyhedron_demo_offset_meshing_plugin::offset_meshing()
(SMesh *new_mesh){
QApplication::restoreOverrideCursor();
if(!new_mesh){
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::isLocked() = false;
CGAL::Three::Three::getMutex()->unlock();
return;
}
Scene_surface_mesh_item* new_item = new Scene_surface_mesh_item(new_mesh);
@ -637,7 +643,9 @@ void Polyhedron_demo_offset_meshing_plugin::offset_meshing()
CGAL::Three::Three::scene()->addItem(new_item);
// CGAL::Three::Three::scene()->itemChanged(index);
QApplication::restoreOverrideCursor();
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::isLocked() = false;
CGAL::Three::Three::getMutex()->unlock();
});
QMessageBox* message_box = new QMessageBox(QMessageBox::NoIcon,
"Meshing",
@ -659,6 +667,9 @@ void Polyhedron_demo_offset_meshing_plugin::offset_meshing()
message_box->open();
QApplication::setOverrideCursor(Qt::BusyCursor);
CGAL::Three::Three::getMutex()->lock();
CGAL::Three::Three::isLocked() = true;
CGAL::Three::Three::getMutex()->unlock();
worker->start();
}

View File

@ -171,6 +171,9 @@ Scene::replaceItem(Scene::Item_id index, CGAL::Three::Scene_item* item, bool emi
Scene::Item_id
Scene::erase(Scene::Item_id index)
{
if(index <0 || index >= numberOfEntries())
return -1;
CGAL::Three::Scene_item* item = m_entries[index];
if(qobject_cast<Scene_group_item*>(item))
{
@ -184,8 +187,6 @@ Scene::erase(Scene::Item_id index)
//clears the Scene_view
clear();
index_map.clear();
if(index < 0 || index >= m_entries.size())
return -1;
if(item->parentGroup())
item->parentGroup()->removeChild(item);
@ -193,7 +194,7 @@ Scene::erase(Scene::Item_id index)
Item_id removed_item = item_id(item);
children.removeAll(removed_item);
indexErased(removed_item);
m_entries.removeAll(item);
m_entries.removeAll(item);
Q_EMIT itemAboutToBeDestroyed(item);
item->aboutToBeDestroyed();
item->deleteLater();

View File

@ -351,7 +351,6 @@ void Scene_c3t3_item::computeElements()const
Ec::Vertices,
d->positions_lines_not_in_complex.data(),
static_cast<int>(d->positions_lines_not_in_complex.size()*sizeof(float)));
d->positions_lines_not_in_complex_size = d->positions_lines_not_in_complex.size();
QApplication::restoreOverrideCursor();
}

View File

@ -154,7 +154,7 @@ struct lcc_priv{
bool is_process;
};
typedef CGAL::Triangulation_2_projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Projection_traits_3<CGAL::Exact_predicates_inexact_constructions_kernel> P_traits;
typedef CGAL::Triangulation_vertex_base_with_info_2<Vertex_info, P_traits> Vb;
typedef CGAL::Triangulation_face_base_with_info_2<Face_info, P_traits> Fb1;
typedef CGAL::Constrained_triangulation_face_base_2<P_traits, Fb1> Fb;

View File

@ -18,7 +18,7 @@
#include <CGAL/minkowski_sum_3.h>
#include <CGAL/convex_decomposition_3.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/boost/graph/convert_nef_polyhedron_to_polygon_mesh.h>
@ -33,7 +33,7 @@ typedef Point_container Pc;
typedef Nef_polyhedron::Traits Traits;
typedef Nef_polyhedron::Halffacet Facet;
typedef CGAL::Triangulation_2_projection_traits_3<Traits> P_traits;
typedef CGAL::Projection_traits_3<Traits> P_traits;
typedef Nef_polyhedron::Halfedge_const_handle Halfedge_handle;
struct Face_info {
Nef_polyhedron::Halfedge_const_handle e[3];

View File

@ -20,6 +20,19 @@ RenderingMode Three::s_defaultPSRM;
int Three::default_point_size;
int Three::default_normal_length;
int Three::default_lines_width;
bool Three::s_is_locked;
QMutex* Three::s_mutex;
QWaitCondition* Three::s_wait_condition;
QWaitCondition* Three::getWaitCondition()
{
return s_wait_condition;
}
QMutex* Three::getMutex()
{
return s_mutex;
}
QMainWindow* Three::mainWindow()
{
@ -255,3 +268,9 @@ int Three::getDefaultLinesWidth()
{
return default_lines_width;
}
bool& Three::isLocked()
{
return s_is_locked;
}

View File

@ -0,0 +1,2 @@
Camera Position #1
2.04042 1.01995 -0.0620027 -0.103774 0.709095 0.218219 0.662416

View File

@ -0,0 +1,22 @@
OFF
8 12 0
-1 -1 -1
-1 1 -1
1 1 -1
1 -1 -1
-1 -1 1
-1 1 1
1 1 1
1 -1 1
3 0 1 3
3 3 1 2
3 0 4 1
3 1 4 5
3 3 2 7
3 7 2 6
3 4 0 3
3 7 4 3
3 6 4 7
3 6 5 4
3 1 5 6
3 2 1 6

View File

@ -0,0 +1,484 @@
OFF
162 320 0
-0.98258084058761597 0.48410347104072571 0.03261265903711319
-0.53538084030151367 0.20770347118377686 0.03261265903711319
-0.84438085556030273 0.20770347118377686 -0.39273735880851746
-1.3443808555603027 0.20770347118377686 -0.23023733496665955
-1.3443808555603027 0.20770347118377686 0.29546263813972473
-0.84438085556030273 0.20770347118377686 0.45796266198158264
-0.6207808256149292 -0.23949652910232544 -0.23023733496665955
-1.1207808256149292 -0.23949652910232544 -0.39273735880851746
-1.4297808408737183 -0.23949652910232544 0.03261265903711319
-1.1207808256149292 -0.23949652910232544 0.45796266198158264
-0.6207808256149292 -0.23949652910232544 0.29546263813972473
-0.98258084058761597 -0.5158964991569519 0.03261265903711319
-0.84593081474304199 0.46505346894264221 0.03261265903711319
-0.71973085403442383 0.40945348143577576 0.03261265903711319
-0.61348080635070801 0.32140347361564636 0.03261265903711319
-0.94036084413528442 0.46505346894264221 -0.097337342798709869
-0.90133082866668701 0.40945348143577576 -0.21738734841346741
-0.86853086948394775 0.32140347361564636 -0.31838735938072205
-1.0931308269500732 0.46505346894264221 -0.047687344253063202
-1.1952308416366577 0.40945348143577576 -0.12188733369112015
-1.2811808586120605 0.32140347361564636 -0.18433734774589539
-1.0931308269500732 0.46505346894264221 0.11291266232728958
-1.1952308416366577 0.40945348143577576 0.18711265921592712
-1.2811808586120605 0.32140347361564636 0.24956265091896057
-0.94036084413528442 0.46505346894264221 0.16256266832351685
-0.90133082866668701 0.40945348143577576 0.28261265158653259
-0.86853086948394775 0.32140347361564636 0.38361266255378723
-0.571280837059021 0.23695346713066101 -0.097337342798709869
-0.63848084211349487 0.24695345759391785 -0.21738734841346741
-0.73188084363937378 0.23695346713066101 -0.31838735938072205
-0.97906535863876343 0.23695346713066101 -0.3987373411655426
-1.1140308380126953 0.24695345759391785 -0.37188735604286194
-1.238980770111084 0.23695346713066101 -0.31428733468055725
-1.391730785369873 0.23695346713066101 -0.1040373370051384
-1.407930850982666 0.24695345759391785 0.03261265903711319
-1.391730785369873 0.23695346713066101 0.16926264762878418
-1.238980770111084 0.23695346713066101 0.37951263785362244
-1.1140308380126953 0.24695345759391785 0.43711265921592712
-0.97906482219696045 0.23695346713066101 0.46396264433860779
-0.73188084363937378 0.23695346713066101 0.38361266255378723
-0.63848084211349487 0.24695345759391785 0.28261265158653259
-0.571280837059021 0.23695346713066101 0.16256266832351685
-0.50293087959289551 0.10035347193479538 -0.047687344253063202
-0.50703084468841553 -0.015896527096629143 -0.12188733369112015
-0.54733085632324219 -0.13214652240276337 -0.18433734774589539
-0.91073083877563477 0.10035347193479538 -0.44833734631538391
-0.98258084058761597 -0.015896527096629143 -0.46738734841346741
-1.0544308423995972 -0.13214652240276337 -0.44833734631538391
-1.4178308248519897 0.10035347193479538 -0.18433734774589539
-1.4581308364868164 -0.015896527096629143 -0.12188733369112015
-1.4622308015823364 -0.13214652240276337 -0.047687344253063202
-1.3233808279037476 0.10035347193479538 0.37951263785362244
-1.2764809131622314 -0.015896527096629143 0.43711265921592712
-1.2071808576583862 -0.13214652240276337 0.46396264433860779
-0.7579808235168457 0.10035347193479538 0.46396264433860779
-0.68868082761764526 -0.015896527096629143 0.43711265921592712
-0.64178085327148438 -0.13214652240276337 0.37951263785362244
-0.50293087959289551 0.10035347193479538 0.11291266232728958
-0.50703084468841553 -0.015896527096629143 0.18711265921592712
-0.54733085632324219 -0.13214652240276337 0.24956265091896057
-0.7579808235168457 0.10035347193479538 -0.3987373411655426
-0.68868082761764526 -0.015896527096629143 -0.37188735604286194
-0.64178085327148438 -0.13214652240276337 -0.31428733468055725
-1.3233808279037476 0.10035347193479538 -0.31428733468055725
-1.2764809131622314 -0.015896527096629143 -0.37188735604286194
-1.2071808576583862 -0.13214652240276337 -0.3987373411655426
-1.4178308248519897 0.10035347193479538 0.24956265091896057
-1.4581308364868164 -0.015896527096629143 0.18711265921592712
-1.4622308015823364 -0.13214652240276337 0.11291266232728958
-0.91073083877563477 0.10035347193479538 0.51356267929077148
-0.98258084058761597 -0.015896527096629143 0.53261268138885498
-1.0544308423995972 -0.13214652240276337 0.51356267929077148
-0.72618085145950317 -0.26874652504920959 -0.31428733468055725
-0.85113084316253662 -0.27874651551246643 -0.37188735604286194
-0.98609632253646851 -0.26874652504920959 -0.3987373411655426
-1.2332808971405029 -0.26874652504920959 -0.31838735938072205
-1.3266808986663818 -0.27874651551246643 -0.21738734841346741
-1.3938808441162109 -0.26874652504920959 -0.097337342798709869
-1.3938808441162109 -0.26874652504920959 0.16256266832351685
-1.3266808986663818 -0.27874651551246643 0.28261265158653259
-1.2332808971405029 -0.26874652504920959 0.38361266255378723
-0.98609632253646851 -0.26874652504920959 0.46396264433860779
-0.85113084316253662 -0.27874651551246643 0.43711265921592712
-0.72618085145950317 -0.26874652504920959 0.37951263785362244
-0.57343083620071411 -0.26874652504920959 0.16926264762878418
-0.55723083019256592 -0.27874651551246643 0.03261265903711319
-0.57343083620071411 -0.26874652504920959 -0.1040373370051384
-0.87203085422515869 -0.4968465268611908 -0.047687344253063202
-0.76993083953857422 -0.44124653935432434 -0.12188733369112015
-0.68398082256317139 -0.35319653153419495 -0.18433734774589539
-1.0248008966445923 -0.4968465268611908 -0.097337342798709869
-1.0638308525085449 -0.44124653935432434 -0.21738734841346741
-1.0966308116912842 -0.35319653153419495 -0.31838735938072205
-1.1192308664321899 -0.4968465268611908 0.03261265903711319
-1.2454308271408081 -0.44124653935432434 0.03261265903711319
-1.3516808748245239 -0.35319653153419495 0.03261265903711319
-1.0248008966445923 -0.4968465268611908 0.16256266832351685
-1.0638308525085449 -0.44124653935432434 0.28261265158653259
-1.0966308116912842 -0.35319653153419495 0.38361266255378723
-0.87203085422515869 -0.4968465268611908 0.11291266232728958
-0.76993083953857422 -0.44124653935432434 0.18711265921592712
-0.68398082256317139 -0.35319653153419495 0.24956265091896057
-0.80168086290359497 0.431303471326828 -0.098837338387966156
-0.67363083362579346 0.35430347919464111 -0.099737338721752167
-0.76123082637786865 0.35430347919464111 -0.22028735280036926
-1.0516808032989502 0.431303471326828 -0.18003734946250916
-1.012975811958313 0.35430347919464111 -0.30208733677864075
-1.1547307968139648 0.35430347919464111 -0.25603735446929932
-1.2061808109283447 0.431303471326828 0.03261265903711319
-1.3102807998657227 0.35430347919464111 -0.041887342929840088
-1.3102807998657227 0.35430347919464111 0.10711266100406647
-1.0516808032989502 0.431303471326828 0.24526265263557434
-1.1547307968139648 0.35430347919464111 0.3212626576423645
-1.012975811958313 0.35430347919464111 0.36731263995170593
-0.80168086290359497 0.431303471326828 0.16406264901161194
-0.76123082637786865 0.35430347919464111 0.28551265597343445
-0.67363083362579346 0.35430347919464111 0.16496264934539795
-0.48258084058761597 -0.015896527096629143 0.03261265903711319
-0.50488084554672241 -0.14344653487205505 0.10711266100406647
-0.50488084554672241 -0.14344653487205505 -0.041887342929840088
-0.82808083295822144 -0.015896527096629143 -0.44293734431266785
-0.76408082246780396 -0.14344653487205505 -0.39863735437393188
-0.90583086013793945 -0.14344653487205505 -0.44473734498023987
-1.3870809078216553 -0.015896527096629143 -0.26128736138343811
-1.3252308368682861 -0.14344653487205505 -0.30843734741210938
-1.4128308296203613 -0.14344653487205505 -0.18788734078407288
-1.3870809078216553 -0.015896527096629143 0.3265126645565033
-1.4128308296203613 -0.14344653487205505 0.25311267375946045
-1.3252308368682861 -0.14344653487205505 0.37366265058517456
-0.82808083295822144 -0.015896527096629143 0.50816267728805542
-0.90583086013793945 -0.14344653487205505 0.50996267795562744
-0.76408082246780396 -0.14344653487205505 0.46386265754699707
-0.57808083295822144 -0.015896527096629143 -0.26128736138343811
-0.6399308443069458 0.11165347695350647 -0.30843734741210938
-0.55233085155487061 0.11165347695350647 -0.18788734078407288
-1.1370807886123657 -0.015896527096629143 -0.44293734431266785
-1.2010807991027832 0.11165347695350647 -0.39863735437393188
-1.0593308210372925 0.11165347695350647 -0.44473734498023987
-1.4825809001922607 -0.015896527096629143 0.03261265903711319
-1.4602808952331543 0.11165347695350647 0.10711266100406647
-1.4602808952331543 0.11165347695350647 -0.041887342929840088
-1.1370807886123657 -0.015896527096629143 0.50816267728805542
-1.0593308210372925 0.11165347695350647 0.50996267795562744
-1.2010807991027832 0.11165347695350647 0.46386265754699707
-0.57808083295822144 -0.015896527096629143 0.3265126645565033
-0.55233085155487061 0.11165347695350647 0.25311267375946045
-0.6399308443069458 0.11165347695350647 0.37366265058517456
-0.91348081827163696 -0.46309652924537659 -0.18003734946250916
-0.95218586921691895 -0.3860965371131897 -0.30208733677864075
-0.81043082475662231 -0.3860965371131897 -0.25603735446929932
-1.1634808778762817 -0.46309652924537659 -0.098837338387966156
-1.2915308475494385 -0.3860965371131897 -0.099737338721752167
-1.2039308547973633 -0.3860965371131897 -0.22028735280036926
-1.1634808778762817 -0.46309652924537659 0.16406264901161194
-1.2039308547973633 -0.3860965371131897 0.28551265597343445
-1.2915308475494385 -0.3860965371131897 0.16496264934539795
-0.91348081827163696 -0.46309652924537659 0.24526265263557434
-0.81043082475662231 -0.3860965371131897 0.3212626576423645
-0.95218586921691895 -0.3860965371131897 0.36731263995170593
-0.75898087024688721 -0.46309652924537659 0.03261265903711319
-0.65488088130950928 -0.3860965371131897 -0.041887342929840088
-0.65488088130950928 -0.3860965371131897 0.10711266100406647
3 0 12 15
3 12 13 102
3 12 102 15
3 15 102 16
3 13 14 103
3 13 103 102
3 102 103 104
3 102 104 16
3 16 104 17
3 14 1 27
3 14 27 103
3 103 27 28
3 103 28 104
3 104 28 29
3 104 29 17
3 17 29 2
3 0 15 18
3 15 16 105
3 15 105 18
3 18 105 19
3 16 17 106
3 16 106 105
3 105 106 107
3 105 107 19
3 19 107 20
3 17 2 30
3 17 30 106
3 106 30 31
3 106 31 107
3 107 31 32
3 107 32 20
3 20 32 3
3 0 18 21
3 18 19 108
3 18 108 21
3 21 108 22
3 19 20 109
3 19 109 108
3 108 109 110
3 108 110 22
3 22 110 23
3 20 3 33
3 20 33 109
3 109 33 34
3 109 34 110
3 110 34 35
3 110 35 23
3 23 35 4
3 0 21 24
3 21 22 111
3 21 111 24
3 24 111 25
3 22 23 112
3 22 112 111
3 111 112 113
3 111 113 25
3 25 113 26
3 23 4 36
3 23 36 112
3 112 36 37
3 112 37 113
3 113 37 38
3 113 38 26
3 26 38 5
3 0 24 12
3 24 25 114
3 24 114 12
3 12 114 13
3 25 26 115
3 25 115 114
3 114 115 116
3 114 116 13
3 13 116 14
3 26 5 39
3 26 39 115
3 115 39 40
3 115 40 116
3 116 40 41
3 116 41 14
3 14 41 1
3 1 57 42
3 57 58 117
3 57 117 42
3 42 117 43
3 58 59 118
3 58 118 117
3 117 118 119
3 117 119 43
3 43 119 44
3 59 10 84
3 59 84 118
3 118 84 85
3 118 85 119
3 119 85 86
3 119 86 44
3 44 86 6
3 2 60 45
3 60 61 120
3 60 120 45
3 45 120 46
3 61 62 121
3 61 121 120
3 120 121 122
3 120 122 46
3 46 122 47
3 62 6 72
3 62 72 121
3 121 72 73
3 121 73 122
3 122 73 74
3 122 74 47
3 47 74 7
3 3 63 48
3 63 64 123
3 63 123 48
3 48 123 49
3 64 65 124
3 64 124 123
3 123 124 125
3 123 125 49
3 49 125 50
3 65 7 75
3 65 75 124
3 124 75 76
3 124 76 125
3 125 76 77
3 125 77 50
3 50 77 8
3 4 66 51
3 66 67 126
3 66 126 51
3 51 126 52
3 67 68 127
3 67 127 126
3 126 127 128
3 126 128 52
3 52 128 53
3 68 8 78
3 68 78 127
3 127 78 79
3 127 79 128
3 128 79 80
3 128 80 53
3 53 80 9
3 5 69 54
3 69 70 129
3 69 129 54
3 54 129 55
3 70 71 130
3 70 130 129
3 129 130 131
3 129 131 55
3 55 131 56
3 71 9 81
3 71 81 130
3 130 81 82
3 130 82 131
3 131 82 83
3 131 83 56
3 56 83 10
3 6 62 44
3 62 61 132
3 62 132 44
3 44 132 43
3 61 60 133
3 61 133 132
3 132 133 134
3 132 134 43
3 43 134 42
3 60 2 29
3 60 29 133
3 133 29 28
3 133 28 134
3 134 28 27
3 134 27 42
3 42 27 1
3 7 65 47
3 65 64 135
3 65 135 47
3 47 135 46
3 64 63 136
3 64 136 135
3 135 136 137
3 135 137 46
3 46 137 45
3 63 3 32
3 63 32 136
3 136 32 31
3 136 31 137
3 137 31 30
3 137 30 45
3 45 30 2
3 8 68 50
3 68 67 138
3 68 138 50
3 50 138 49
3 67 66 139
3 67 139 138
3 138 139 140
3 138 140 49
3 49 140 48
3 66 4 35
3 66 35 139
3 139 35 34
3 139 34 140
3 140 34 33
3 140 33 48
3 48 33 3
3 9 71 53
3 71 70 141
3 71 141 53
3 53 141 52
3 70 69 142
3 70 142 141
3 141 142 143
3 141 143 52
3 52 143 51
3 69 5 38
3 69 38 142
3 142 38 37
3 142 37 143
3 143 37 36
3 143 36 51
3 51 36 4
3 10 59 56
3 59 58 144
3 59 144 56
3 56 144 55
3 58 57 145
3 58 145 144
3 144 145 146
3 144 146 55
3 55 146 54
3 57 1 41
3 57 41 145
3 145 41 40
3 145 40 146
3 146 40 39
3 146 39 54
3 54 39 5
3 11 90 87
3 90 91 147
3 90 147 87
3 87 147 88
3 91 92 148
3 91 148 147
3 147 148 149
3 147 149 88
3 88 149 89
3 92 7 74
3 92 74 148
3 148 74 73
3 148 73 149
3 149 73 72
3 149 72 89
3 89 72 6
3 11 93 90
3 93 94 150
3 93 150 90
3 90 150 91
3 94 95 151
3 94 151 150
3 150 151 152
3 150 152 91
3 91 152 92
3 95 8 77
3 95 77 151
3 151 77 76
3 151 76 152
3 152 76 75
3 152 75 92
3 92 75 7
3 11 96 93
3 96 97 153
3 96 153 93
3 93 153 94
3 97 98 154
3 97 154 153
3 153 154 155
3 153 155 94
3 94 155 95
3 98 9 80
3 98 80 154
3 154 80 79
3 154 79 155
3 155 79 78
3 155 78 95
3 95 78 8
3 11 99 96
3 99 100 156
3 99 156 96
3 96 156 97
3 100 101 157
3 100 157 156
3 156 157 158
3 156 158 97
3 97 158 98
3 101 10 83
3 101 83 157
3 157 83 82
3 157 82 158
3 158 82 81
3 158 81 98
3 98 81 9
3 11 87 99
3 87 88 159
3 87 159 99
3 99 159 100
3 88 89 160
3 88 160 159
3 159 160 161
3 159 161 100
3 100 161 101
3 89 6 86
3 89 86 160
3 160 86 85
3 160 85 161
3 161 85 84
3 161 84 101
3 101 84 10

View File

@ -0,0 +1,75 @@
# HyperSurface 0.1 ASCII
Parameters {
Materials {
Exterior {
Color 0.7 0.8 0.8,
Id 0
}
Bubbles {
Color 0.7 0.8 0.8,
Id 1
}
Rocks {
Color 0.89604 0.915785 0.105821,
Id 3
}
Cement {
Color 0.123507 0.926314 0.926314,
Id 4
}
}
LocalCoordinateSystem {
Default {
XAxis 1 0 0,
YAxis 0 1 0,
ZAxis 0 0 1,
Origin 0 0 0
}
}
Units {
Coordinates "mm"
}
BoundaryIds {
Name "BoundaryConditions"
}
GridBox -1 200 -1 200 -1 200,
GridSize 202 202 202
}
Vertices 4
0.0 0.0 0.0
0.0 1.0 0.0
1.0 0.0 0.0
0.0 0.0 1.0
NBranchingPoints 0
NVerticesOnCurves 0
BoundaryCurves 0
Patches 3
{
InnerRegion Cement
OuterRegion Bubbles
BoundaryID 0
BranchingPoints 0
Triangles 1
1 2 3
}
{
InnerRegion Cement
OuterRegion Rocks
BoundaryID 0
BranchingPoints 0
Triangles 1
1 3 4
}
{
InnerRegion Cement
OuterRegion Bubbles
BoundaryID 0
BranchingPoints 0
Triangles 1
1 2 4
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
5 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0

View File

@ -0,0 +1,132 @@
#INRIMAGE-4#{
XDIM=10
YDIM=10
ZDIM=10
VDIM=1
TYPE=unsigned fixed
PIXSIZE=8 bits
SCALE=2**0
CPU=decm
VX=1
VY=1
VZ=1
#GEOMETRY=CARTESIAN
##}


Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,486 @@
OFF
162 320 0
0 0.5 0
0.4472 0.2236 0
0.1382 0.2236 -0.42535
-0.3618 0.2236 -0.26285
-0.3618 0.2236 0.26285
0.1382 0.2236 0.42535
0.3618 -0.2236 -0.26285
-0.1382 -0.2236 -0.42535
-0.4472 -0.2236 0
-0.1382 -0.2236 0.42535
0.3618 -0.2236 0.26285
0 -0.5 0
0.13665 0.48095 0
0.26285 0.42535 0
0.3691 0.3373 0
0.04222 0.48095 -0.12995
0.08125 0.42535 -0.25
0.11405 0.3373 -0.351
-0.11055 0.48095 -0.0803
-0.21265 0.42535 -0.1545
-0.2986 0.3373 -0.21695
-0.11055 0.48095 0.0803
-0.21265 0.42535 0.1545
-0.2986 0.3373 0.21695
0.04222 0.48095 0.12995
0.08125 0.42535 0.25
0.11405 0.3373 0.351
0.4113 0.25285 -0.12995
0.3441 0.26285 -0.25
0.2507 0.25285 -0.351
0.0035155 0.25285 -0.43135
-0.13145 0.26285 -0.4045
-0.2564 0.25285 -0.3469
-0.40915 0.25285 -0.13665
-0.42535 0.26285 0
-0.40915 0.25285 0.13665
-0.2564 0.25285 0.3469
-0.13145 0.26285 0.4045
0.003516 0.25285 0.43135
0.2507 0.25285 0.351
0.3441 0.26285 0.25
0.4113 0.25285 0.12995
0.47965 0.11625 -0.0803
0.47555 0 -0.1545
0.43525 -0.11625 -0.21695
0.07185 0.11625 -0.48095
0 0 -0.5
-0.07185 -0.11625 -0.48095
-0.43525 0.11625 -0.21695
-0.47555 0 -0.1545
-0.47965 -0.11625 -0.0803
-0.3408 0.11625 0.3469
-0.2939 0 0.4045
-0.2246 -0.11625 0.43135
0.2246 0.11625 0.43135
0.2939 0 0.4045
0.3408 -0.11625 0.3469
0.47965 0.11625 0.0803
0.47555 0 0.1545
0.43525 -0.11625 0.21695
0.2246 0.11625 -0.43135
0.2939 0 -0.4045
0.3408 -0.11625 -0.3469
-0.3408 0.11625 -0.3469
-0.2939 0 -0.4045
-0.2246 -0.11625 -0.43135
-0.43525 0.11625 0.21695
-0.47555 0 0.1545
-0.47965 -0.11625 0.0803
0.07185 0.11625 0.48095
0 0 0.5
-0.07185 -0.11625 0.48095
0.2564 -0.25285 -0.3469
0.13145 -0.26285 -0.4045
-0.0035155 -0.25285 -0.43135
-0.2507 -0.25285 -0.351
-0.3441 -0.26285 -0.25
-0.4113 -0.25285 -0.12995
-0.4113 -0.25285 0.12995
-0.3441 -0.26285 0.25
-0.2507 -0.25285 0.351
-0.0035155 -0.25285 0.43135
0.13145 -0.26285 0.4045
0.2564 -0.25285 0.3469
0.40915 -0.25285 0.13665
0.42535 -0.26285 0
0.40915 -0.25285 -0.13665
0.11055 -0.48095 -0.0803
0.21265 -0.42535 -0.1545
0.2986 -0.3373 -0.21695
-0.04222 -0.48095 -0.12995
-0.08125 -0.42535 -0.25
-0.11405 -0.3373 -0.351
-0.13665 -0.48095 0
-0.26285 -0.42535 0
-0.3691 -0.3373 0
-0.04222 -0.48095 0.12995
-0.08125 -0.42535 0.25
-0.11405 -0.3373 0.351
0.11055 -0.48095 0.0803
0.21265 -0.42535 0.1545
0.2986 -0.3373 0.21695
0.1809 0.4472 -0.13145
0.30895 0.3702 -0.13235
0.22135 0.3702 -0.2529
-0.0691 0.4472 -0.21265
-0.030395 0.3702 -0.3347
-0.17215 0.3702 -0.28865
-0.2236 0.4472 0
-0.3277 0.3702 -0.0745
-0.3277 0.3702 0.0745
-0.0691 0.4472 0.21265
-0.17215 0.3702 0.28865
-0.030395 0.3702 0.3347
0.1809 0.4472 0.13145
0.22135 0.3702 0.2529
0.30895 0.3702 0.13235
0.5 0 0
0.4777 -0.12755 0.0745
0.4777 -0.12755 -0.0745
0.1545 0 -0.47555
0.2185 -0.12755 -0.43125
0.07675 -0.12755 -0.47735
-0.4045 0 -0.2939
-0.34265 -0.12755 -0.34105
-0.43025 -0.12755 -0.2205
-0.4045 0 0.2939
-0.43025 -0.12755 0.2205
-0.34265 -0.12755 0.34105
0.1545 0 0.47555
0.07675 -0.12755 0.47735
0.2185 -0.12755 0.43125
0.4045 0 -0.2939
0.34265 0.12755 -0.34105
0.43025 0.12755 -0.2205
-0.1545 0 -0.47555
-0.2185 0.12755 -0.43125
-0.07675 0.12755 -0.47735
-0.5 0 0
-0.4777 0.12755 0.0745
-0.4777 0.12755 -0.0745
-0.1545 0 0.47555
-0.07675 0.12755 0.47735
-0.2185 0.12755 0.43125
0.4045 0 0.2939
0.43025 0.12755 0.2205
0.34265 0.12755 0.34105
0.0691 -0.4472 -0.21265
0.030395 -0.3702 -0.3347
0.17215 -0.3702 -0.28865
-0.1809 -0.4472 -0.13145
-0.30895 -0.3702 -0.13235
-0.22135 -0.3702 -0.2529
-0.1809 -0.4472 0.13145
-0.22135 -0.3702 0.2529
-0.30895 -0.3702 0.13235
0.0691 -0.4472 0.21265
0.17215 -0.3702 0.28865
0.030395 -0.3702 0.3347
0.2236 -0.4472 0
0.3277 -0.3702 -0.0745
0.3277 -0.3702 0.0745
3 0 12 15
3 12 13 102
3 12 102 15
3 15 102 16
3 13 14 103
3 13 103 102
3 102 103 104
3 102 104 16
3 16 104 17
3 14 1 27
3 14 27 103
3 103 27 28
3 103 28 104
3 104 28 29
3 104 29 17
3 17 29 2
3 0 15 18
3 15 16 105
3 15 105 18
3 18 105 19
3 16 17 106
3 16 106 105
3 105 106 107
3 105 107 19
3 19 107 20
3 17 2 30
3 17 30 106
3 106 30 31
3 106 31 107
3 107 31 32
3 107 32 20
3 20 32 3
3 0 18 21
3 18 19 108
3 18 108 21
3 21 108 22
3 19 20 109
3 19 109 108
3 108 109 110
3 108 110 22
3 22 110 23
3 20 3 33
3 20 33 109
3 109 33 34
3 109 34 110
3 110 34 35
3 110 35 23
3 23 35 4
3 0 21 24
3 21 22 111
3 21 111 24
3 24 111 25
3 22 23 112
3 22 112 111
3 111 112 113
3 111 113 25
3 25 113 26
3 23 4 36
3 23 36 112
3 112 36 37
3 112 37 113
3 113 37 38
3 113 38 26
3 26 38 5
3 0 24 12
3 24 25 114
3 24 114 12
3 12 114 13
3 25 26 115
3 25 115 114
3 114 115 116
3 114 116 13
3 13 116 14
3 26 5 39
3 26 39 115
3 115 39 40
3 115 40 116
3 116 40 41
3 116 41 14
3 14 41 1
3 1 57 42
3 57 58 117
3 57 117 42
3 42 117 43
3 58 59 118
3 58 118 117
3 117 118 119
3 117 119 43
3 43 119 44
3 59 10 84
3 59 84 118
3 118 84 85
3 118 85 119
3 119 85 86
3 119 86 44
3 44 86 6
3 2 60 45
3 60 61 120
3 60 120 45
3 45 120 46
3 61 62 121
3 61 121 120
3 120 121 122
3 120 122 46
3 46 122 47
3 62 6 72
3 62 72 121
3 121 72 73
3 121 73 122
3 122 73 74
3 122 74 47
3 47 74 7
3 3 63 48
3 63 64 123
3 63 123 48
3 48 123 49
3 64 65 124
3 64 124 123
3 123 124 125
3 123 125 49
3 49 125 50
3 65 7 75
3 65 75 124
3 124 75 76
3 124 76 125
3 125 76 77
3 125 77 50
3 50 77 8
3 4 66 51
3 66 67 126
3 66 126 51
3 51 126 52
3 67 68 127
3 67 127 126
3 126 127 128
3 126 128 52
3 52 128 53
3 68 8 78
3 68 78 127
3 127 78 79
3 127 79 128
3 128 79 80
3 128 80 53
3 53 80 9
3 5 69 54
3 69 70 129
3 69 129 54
3 54 129 55
3 70 71 130
3 70 130 129
3 129 130 131
3 129 131 55
3 55 131 56
3 71 9 81
3 71 81 130
3 130 81 82
3 130 82 131
3 131 82 83
3 131 83 56
3 56 83 10
3 6 62 44
3 62 61 132
3 62 132 44
3 44 132 43
3 61 60 133
3 61 133 132
3 132 133 134
3 132 134 43
3 43 134 42
3 60 2 29
3 60 29 133
3 133 29 28
3 133 28 134
3 134 28 27
3 134 27 42
3 42 27 1
3 7 65 47
3 65 64 135
3 65 135 47
3 47 135 46
3 64 63 136
3 64 136 135
3 135 136 137
3 135 137 46
3 46 137 45
3 63 3 32
3 63 32 136
3 136 32 31
3 136 31 137
3 137 31 30
3 137 30 45
3 45 30 2
3 8 68 50
3 68 67 138
3 68 138 50
3 50 138 49
3 67 66 139
3 67 139 138
3 138 139 140
3 138 140 49
3 49 140 48
3 66 4 35
3 66 35 139
3 139 35 34
3 139 34 140
3 140 34 33
3 140 33 48
3 48 33 3
3 9 71 53
3 71 70 141
3 71 141 53
3 53 141 52
3 70 69 142
3 70 142 141
3 141 142 143
3 141 143 52
3 52 143 51
3 69 5 38
3 69 38 142
3 142 38 37
3 142 37 143
3 143 37 36
3 143 36 51
3 51 36 4
3 10 59 56
3 59 58 144
3 59 144 56
3 56 144 55
3 58 57 145
3 58 145 144
3 144 145 146
3 144 146 55
3 55 146 54
3 57 1 41
3 57 41 145
3 145 41 40
3 145 40 146
3 146 40 39
3 146 39 54
3 54 39 5
3 11 90 87
3 90 91 147
3 90 147 87
3 87 147 88
3 91 92 148
3 91 148 147
3 147 148 149
3 147 149 88
3 88 149 89
3 92 7 74
3 92 74 148
3 148 74 73
3 148 73 149
3 149 73 72
3 149 72 89
3 89 72 6
3 11 93 90
3 93 94 150
3 93 150 90
3 90 150 91
3 94 95 151
3 94 151 150
3 150 151 152
3 150 152 91
3 91 152 92
3 95 8 77
3 95 77 151
3 151 77 76
3 151 76 152
3 152 76 75
3 152 75 92
3 92 75 7
3 11 96 93
3 96 97 153
3 96 153 93
3 93 153 94
3 97 98 154
3 97 154 153
3 153 154 155
3 153 155 94
3 94 155 95
3 98 9 80
3 98 80 154
3 154 80 79
3 154 79 155
3 155 79 78
3 155 78 95
3 95 78 8
3 11 99 96
3 99 100 156
3 99 156 96
3 96 156 97
3 100 101 157
3 100 157 156
3 156 157 158
3 156 158 97
3 97 158 98
3 101 10 83
3 101 83 157
3 157 83 82
3 157 82 158
3 158 82 81
3 158 81 98
3 98 81 9
3 11 87 99
3 87 88 159
3 87 159 99
3 99 159 100
3 88 89 160
3 88 160 159
3 159 160 161
3 159 161 100
3 100 161 101
3 89 6 86
3 89 86 160
3 160 86 85
3 160 85 161
3 161 85 84
3 161 84 101
3 101 84 10

View File

@ -0,0 +1,492 @@
ply
format ascii 1.0
comment Generated by the CGAL library
element vertex 162
property double x
property double y
property double z
element face 320
property list uchar int vertex_indices
end_header
0 0.5 0
0.44719999999999999 0.22359999999999999 0
0.13819999999999999 0.22359999999999999 -0.42535000000000001
-0.36180000000000001 0.22359999999999999 -0.26284999999999997
-0.36180000000000001 0.22359999999999999 0.26284999999999997
0.13819999999999999 0.22359999999999999 0.42535000000000001
0.36180000000000001 -0.22359999999999999 -0.26284999999999997
-0.13819999999999999 -0.22359999999999999 -0.42535000000000001
-0.44719999999999999 -0.22359999999999999 0
-0.13819999999999999 -0.22359999999999999 0.42535000000000001
0.36180000000000001 -0.22359999999999999 0.26284999999999997
0 -0.5 0
0.13664999999999999 0.48094999999999999 0
0.26284999999999997 0.42535000000000001 0
0.36909999999999998 0.33729999999999999 0
0.042220000000000001 0.48094999999999999 -0.12995000000000001
0.081250000000000003 0.42535000000000001 -0.25
0.11405 0.33729999999999999 -0.35099999999999998
-0.11055 0.48094999999999999 -0.080299999999999996
-0.21265000000000001 0.42535000000000001 -0.1545
-0.29859999999999998 0.33729999999999999 -0.21695
-0.11055 0.48094999999999999 0.080299999999999996
-0.21265000000000001 0.42535000000000001 0.1545
-0.29859999999999998 0.33729999999999999 0.21695
0.042220000000000001 0.48094999999999999 0.12995000000000001
0.081250000000000003 0.42535000000000001 0.25
0.11405 0.33729999999999999 0.35099999999999998
0.4113 0.25285000000000002 -0.12995000000000001
0.34410000000000002 0.26284999999999997 -0.25
0.25069999999999998 0.25285000000000002 -0.35099999999999998
0.0035155 0.25285000000000002 -0.43135000000000001
-0.13145000000000001 0.26284999999999997 -0.40450000000000003
-0.25640000000000002 0.25285000000000002 -0.34689999999999999
-0.40915000000000001 0.25285000000000002 -0.13664999999999999
-0.42535000000000001 0.26284999999999997 0
-0.40915000000000001 0.25285000000000002 0.13664999999999999
-0.25640000000000002 0.25285000000000002 0.34689999999999999
-0.13145000000000001 0.26284999999999997 0.40450000000000003
0.003516 0.25285000000000002 0.43135000000000001
0.25069999999999998 0.25285000000000002 0.35099999999999998
0.34410000000000002 0.26284999999999997 0.25
0.4113 0.25285000000000002 0.12995000000000001
0.47965000000000002 0.11625000000000001 -0.080299999999999996
0.47554999999999997 0 -0.1545
0.43525000000000003 -0.11625000000000001 -0.21695
0.071849999999999997 0.11625000000000001 -0.48094999999999999
0 0 -0.5
-0.071849999999999997 -0.11625000000000001 -0.48094999999999999
-0.43525000000000003 0.11625000000000001 -0.21695
-0.47554999999999997 0 -0.1545
-0.47965000000000002 -0.11625000000000001 -0.080299999999999996
-0.34079999999999999 0.11625000000000001 0.34689999999999999
-0.29389999999999999 0 0.40450000000000003
-0.22459999999999999 -0.11625000000000001 0.43135000000000001
0.22459999999999999 0.11625000000000001 0.43135000000000001
0.29389999999999999 0 0.40450000000000003
0.34079999999999999 -0.11625000000000001 0.34689999999999999
0.47965000000000002 0.11625000000000001 0.080299999999999996
0.47554999999999997 0 0.1545
0.43525000000000003 -0.11625000000000001 0.21695
0.22459999999999999 0.11625000000000001 -0.43135000000000001
0.29389999999999999 0 -0.40450000000000003
0.34079999999999999 -0.11625000000000001 -0.34689999999999999
-0.34079999999999999 0.11625000000000001 -0.34689999999999999
-0.29389999999999999 0 -0.40450000000000003
-0.22459999999999999 -0.11625000000000001 -0.43135000000000001
-0.43525000000000003 0.11625000000000001 0.21695
-0.47554999999999997 0 0.1545
-0.47965000000000002 -0.11625000000000001 0.080299999999999996
0.071849999999999997 0.11625000000000001 0.48094999999999999
0 0 0.5
-0.071849999999999997 -0.11625000000000001 0.48094999999999999
0.25640000000000002 -0.25285000000000002 -0.34689999999999999
0.13145000000000001 -0.26284999999999997 -0.40450000000000003
-0.0035155 -0.25285000000000002 -0.43135000000000001
-0.25069999999999998 -0.25285000000000002 -0.35099999999999998
-0.34410000000000002 -0.26284999999999997 -0.25
-0.4113 -0.25285000000000002 -0.12995000000000001
-0.4113 -0.25285000000000002 0.12995000000000001
-0.34410000000000002 -0.26284999999999997 0.25
-0.25069999999999998 -0.25285000000000002 0.35099999999999998
-0.0035155 -0.25285000000000002 0.43135000000000001
0.13145000000000001 -0.26284999999999997 0.40450000000000003
0.25640000000000002 -0.25285000000000002 0.34689999999999999
0.40915000000000001 -0.25285000000000002 0.13664999999999999
0.42535000000000001 -0.26284999999999997 0
0.40915000000000001 -0.25285000000000002 -0.13664999999999999
0.11055 -0.48094999999999999 -0.080299999999999996
0.21265000000000001 -0.42535000000000001 -0.1545
0.29859999999999998 -0.33729999999999999 -0.21695
-0.042220000000000001 -0.48094999999999999 -0.12995000000000001
-0.081250000000000003 -0.42535000000000001 -0.25
-0.11405 -0.33729999999999999 -0.35099999999999998
-0.13664999999999999 -0.48094999999999999 0
-0.26284999999999997 -0.42535000000000001 0
-0.36909999999999998 -0.33729999999999999 0
-0.042220000000000001 -0.48094999999999999 0.12995000000000001
-0.081250000000000003 -0.42535000000000001 0.25
-0.11405 -0.33729999999999999 0.35099999999999998
0.11055 -0.48094999999999999 0.080299999999999996
0.21265000000000001 -0.42535000000000001 0.1545
0.29859999999999998 -0.33729999999999999 0.21695
0.18090000000000001 0.44719999999999999 -0.13145000000000001
0.30895 0.37019999999999997 -0.13235
0.22134999999999999 0.37019999999999997 -0.25290000000000001
-0.069099999999999995 0.44719999999999999 -0.21265000000000001
-0.030394999999999998 0.37019999999999997 -0.3347
-0.17215 0.37019999999999997 -0.28865000000000002
-0.22359999999999999 0.44719999999999999 0
-0.32769999999999999 0.37019999999999997 -0.074499999999999997
-0.32769999999999999 0.37019999999999997 0.074499999999999997
-0.069099999999999995 0.44719999999999999 0.21265000000000001
-0.17215 0.37019999999999997 0.28865000000000002
-0.030394999999999998 0.37019999999999997 0.3347
0.18090000000000001 0.44719999999999999 0.13145000000000001
0.22134999999999999 0.37019999999999997 0.25290000000000001
0.30895 0.37019999999999997 0.13235
0.5 0 0
0.47770000000000001 -0.12755 0.074499999999999997
0.47770000000000001 -0.12755 -0.074499999999999997
0.1545 0 -0.47554999999999997
0.2185 -0.12755 -0.43125000000000002
0.076749999999999999 -0.12755 -0.47735
-0.40450000000000003 0 -0.29389999999999999
-0.34265000000000001 -0.12755 -0.34105000000000002
-0.43025000000000002 -0.12755 -0.2205
-0.40450000000000003 0 0.29389999999999999
-0.43025000000000002 -0.12755 0.2205
-0.34265000000000001 -0.12755 0.34105000000000002
0.1545 0 0.47554999999999997
0.076749999999999999 -0.12755 0.47735
0.2185 -0.12755 0.43125000000000002
0.40450000000000003 0 -0.29389999999999999
0.34265000000000001 0.12755 -0.34105000000000002
0.43025000000000002 0.12755 -0.2205
-0.1545 0 -0.47554999999999997
-0.2185 0.12755 -0.43125000000000002
-0.076749999999999999 0.12755 -0.47735
-0.5 0 0
-0.47770000000000001 0.12755 0.074499999999999997
-0.47770000000000001 0.12755 -0.074499999999999997
-0.1545 0 0.47554999999999997
-0.076749999999999999 0.12755 0.47735
-0.2185 0.12755 0.43125000000000002
0.40450000000000003 0 0.29389999999999999
0.43025000000000002 0.12755 0.2205
0.34265000000000001 0.12755 0.34105000000000002
0.069099999999999995 -0.44719999999999999 -0.21265000000000001
0.030394999999999998 -0.37019999999999997 -0.3347
0.17215 -0.37019999999999997 -0.28865000000000002
-0.18090000000000001 -0.44719999999999999 -0.13145000000000001
-0.30895 -0.37019999999999997 -0.13235
-0.22134999999999999 -0.37019999999999997 -0.25290000000000001
-0.18090000000000001 -0.44719999999999999 0.13145000000000001
-0.22134999999999999 -0.37019999999999997 0.25290000000000001
-0.30895 -0.37019999999999997 0.13235
0.069099999999999995 -0.44719999999999999 0.21265000000000001
0.17215 -0.37019999999999997 0.28865000000000002
0.030394999999999998 -0.37019999999999997 0.3347
0.22359999999999999 -0.44719999999999999 0
0.32769999999999999 -0.37019999999999997 -0.074499999999999997
0.32769999999999999 -0.37019999999999997 0.074499999999999997
3 15 0 12
3 102 12 13
3 15 12 102
3 16 15 102
3 103 13 14
3 102 13 103
3 104 102 103
3 16 102 104
3 17 16 104
3 27 14 1
3 103 14 27
3 28 103 27
3 104 103 28
3 29 104 28
3 17 104 29
3 2 17 29
3 18 0 15
3 105 15 16
3 18 15 105
3 19 18 105
3 106 16 17
3 105 16 106
3 107 105 106
3 19 105 107
3 20 19 107
3 30 17 2
3 106 17 30
3 31 106 30
3 107 106 31
3 32 107 31
3 20 107 32
3 3 20 32
3 21 0 18
3 108 18 19
3 21 18 108
3 22 21 108
3 109 19 20
3 108 19 109
3 110 108 109
3 22 108 110
3 23 22 110
3 33 20 3
3 109 20 33
3 34 109 33
3 110 109 34
3 35 110 34
3 23 110 35
3 4 23 35
3 24 0 21
3 111 21 22
3 24 21 111
3 25 24 111
3 112 22 23
3 111 22 112
3 113 111 112
3 25 111 113
3 26 25 113
3 36 23 4
3 112 23 36
3 37 112 36
3 113 112 37
3 38 113 37
3 26 113 38
3 5 26 38
3 12 0 24
3 114 24 25
3 12 24 114
3 13 12 114
3 115 25 26
3 114 25 115
3 116 114 115
3 13 114 116
3 14 13 116
3 39 26 5
3 115 26 39
3 40 115 39
3 116 115 40
3 41 116 40
3 14 116 41
3 1 14 41
3 42 1 57
3 117 57 58
3 42 57 117
3 43 42 117
3 118 58 59
3 117 58 118
3 119 117 118
3 43 117 119
3 44 43 119
3 84 59 10
3 118 59 84
3 85 118 84
3 119 118 85
3 86 119 85
3 44 119 86
3 6 44 86
3 45 2 60
3 120 60 61
3 45 60 120
3 46 45 120
3 121 61 62
3 120 61 121
3 122 120 121
3 46 120 122
3 47 46 122
3 72 62 6
3 121 62 72
3 73 121 72
3 122 121 73
3 74 122 73
3 47 122 74
3 7 47 74
3 48 3 63
3 123 63 64
3 48 63 123
3 49 48 123
3 124 64 65
3 123 64 124
3 125 123 124
3 49 123 125
3 50 49 125
3 75 65 7
3 124 65 75
3 76 124 75
3 125 124 76
3 77 125 76
3 50 125 77
3 8 50 77
3 51 4 66
3 126 66 67
3 51 66 126
3 52 51 126
3 127 67 68
3 126 67 127
3 128 126 127
3 52 126 128
3 53 52 128
3 78 68 8
3 127 68 78
3 79 127 78
3 128 127 79
3 80 128 79
3 53 128 80
3 9 53 80
3 54 5 69
3 129 69 70
3 54 69 129
3 55 54 129
3 130 70 71
3 129 70 130
3 131 129 130
3 55 129 131
3 56 55 131
3 81 71 9
3 130 71 81
3 82 130 81
3 131 130 82
3 83 131 82
3 56 131 83
3 10 56 83
3 44 6 62
3 132 62 61
3 44 62 132
3 43 44 132
3 133 61 60
3 132 61 133
3 134 132 133
3 43 132 134
3 42 43 134
3 29 60 2
3 133 60 29
3 28 133 29
3 134 133 28
3 27 134 28
3 42 134 27
3 1 42 27
3 47 7 65
3 135 65 64
3 47 65 135
3 46 47 135
3 136 64 63
3 135 64 136
3 137 135 136
3 46 135 137
3 45 46 137
3 32 63 3
3 136 63 32
3 31 136 32
3 137 136 31
3 30 137 31
3 45 137 30
3 2 45 30
3 50 8 68
3 138 68 67
3 50 68 138
3 49 50 138
3 139 67 66
3 138 67 139
3 140 138 139
3 49 138 140
3 48 49 140
3 35 66 4
3 139 66 35
3 34 139 35
3 140 139 34
3 33 140 34
3 48 140 33
3 3 48 33
3 53 9 71
3 141 71 70
3 53 71 141
3 52 53 141
3 142 70 69
3 141 70 142
3 143 141 142
3 52 141 143
3 51 52 143
3 38 69 5
3 142 69 38
3 37 142 38
3 143 142 37
3 36 143 37
3 51 143 36
3 4 51 36
3 56 10 59
3 144 59 58
3 56 59 144
3 55 56 144
3 145 58 57
3 144 58 145
3 146 144 145
3 55 144 146
3 54 55 146
3 41 57 1
3 145 57 41
3 40 145 41
3 146 145 40
3 39 146 40
3 54 146 39
3 5 54 39
3 87 11 90
3 147 90 91
3 87 90 147
3 88 87 147
3 148 91 92
3 147 91 148
3 149 147 148
3 88 147 149
3 89 88 149
3 74 92 7
3 148 92 74
3 73 148 74
3 149 148 73
3 72 149 73
3 89 149 72
3 6 89 72
3 90 11 93
3 150 93 94
3 90 93 150
3 91 90 150
3 151 94 95
3 150 94 151
3 152 150 151
3 91 150 152
3 92 91 152
3 77 95 8
3 151 95 77
3 76 151 77
3 152 151 76
3 75 152 76
3 92 152 75
3 7 92 75
3 93 11 96
3 153 96 97
3 93 96 153
3 94 93 153
3 154 97 98
3 153 97 154
3 155 153 154
3 94 153 155
3 95 94 155
3 80 98 9
3 154 98 80
3 79 154 80
3 155 154 79
3 78 155 79
3 95 155 78
3 8 95 78
3 96 11 99
3 156 99 100
3 96 99 156
3 97 96 156
3 157 100 101
3 156 100 157
3 158 156 157
3 97 156 158
3 98 97 158
3 83 101 10
3 157 101 83
3 82 157 83
3 158 157 82
3 81 158 82
3 98 158 81
3 9 98 81
3 99 11 87
3 159 87 88
3 99 87 159
3 100 99 159
3 160 88 89
3 159 88 160
3 161 159 160
3 100 159 161
3 101 100 161
3 86 89 6
3 160 89 86
3 85 160 86
3 161 160 85
3 84 161 85
3 101 161 84
3 10 101 84

View File

@ -0,0 +1,3 @@
69 129 70
148 213 144 212 146 147 218 150 209 217 151 149
55 54 130 131 71 130 141 71 131 55 142 141 38 5 38 142 54 5 129 69 69 70 70 129

Binary file not shown.

View File

@ -0,0 +1,496 @@
GOCAD TSurf 1
HEADER {
name:sphere
*border:on
*border*bstone:on
}
GOCAD_ORIGINAL_COORDINATE_SYSTEM
NAME Default
AXIS_NAME "X" "Y" "Z"
AXIS_UNIT "m" "m" "m"
ZPOSITIVE Elevation
END_ORIGINAL_COORDINATE_SYSTEM
TFACE
VRTX 0 0 0.5 0
VRTX 1 0.4472 0.2236 0
VRTX 2 0.1382 0.2236 -0.42535
VRTX 3 -0.3618 0.2236 -0.26285
VRTX 4 -0.3618 0.2236 0.26285
VRTX 5 0.1382 0.2236 0.42535
VRTX 6 0.3618 -0.2236 -0.26285
VRTX 7 -0.1382 -0.2236 -0.42535
VRTX 8 -0.4472 -0.2236 0
VRTX 9 -0.1382 -0.2236 0.42535
VRTX 10 0.3618 -0.2236 0.26285
VRTX 11 0 -0.5 0
VRTX 12 0.13665 0.48095 0
VRTX 13 0.26285 0.42535 0
VRTX 14 0.3691 0.3373 0
VRTX 15 0.04222 0.48095 -0.12995
VRTX 16 0.08125 0.42535 -0.25
VRTX 17 0.11405 0.3373 -0.351
VRTX 18 -0.11055 0.48095 -0.0803
VRTX 19 -0.21265 0.42535 -0.1545
VRTX 20 -0.2986 0.3373 -0.21695
VRTX 21 -0.11055 0.48095 0.0803
VRTX 22 -0.21265 0.42535 0.1545
VRTX 23 -0.2986 0.3373 0.21695
VRTX 24 0.04222 0.48095 0.12995
VRTX 25 0.08125 0.42535 0.25
VRTX 26 0.11405 0.3373 0.351
VRTX 27 0.4113 0.25285 -0.12995
VRTX 28 0.3441 0.26285 -0.25
VRTX 29 0.2507 0.25285 -0.351
VRTX 30 0.0035155 0.25285 -0.43135
VRTX 31 -0.13145 0.26285 -0.4045
VRTX 32 -0.2564 0.25285 -0.3469
VRTX 33 -0.40915 0.25285 -0.13665
VRTX 34 -0.42535 0.26285 0
VRTX 35 -0.40915 0.25285 0.13665
VRTX 36 -0.2564 0.25285 0.3469
VRTX 37 -0.13145 0.26285 0.4045
VRTX 38 0.003516 0.25285 0.43135
VRTX 39 0.2507 0.25285 0.351
VRTX 40 0.3441 0.26285 0.25
VRTX 41 0.4113 0.25285 0.12995
VRTX 42 0.47965 0.11625 -0.0803
VRTX 43 0.47555 0 -0.1545
VRTX 44 0.43525 -0.11625 -0.21695
VRTX 45 0.07185 0.11625 -0.48095
VRTX 46 0 0 -0.5
VRTX 47 -0.07185 -0.11625 -0.48095
VRTX 48 -0.43525 0.11625 -0.21695
VRTX 49 -0.47555 0 -0.1545
VRTX 50 -0.47965 -0.11625 -0.0803
VRTX 51 -0.3408 0.11625 0.3469
VRTX 52 -0.2939 0 0.4045
VRTX 53 -0.2246 -0.11625 0.43135
VRTX 54 0.2246 0.11625 0.43135
VRTX 55 0.2939 0 0.4045
VRTX 56 0.3408 -0.11625 0.3469
VRTX 57 0.47965 0.11625 0.0803
VRTX 58 0.47555 0 0.1545
VRTX 59 0.43525 -0.11625 0.21695
VRTX 60 0.2246 0.11625 -0.43135
VRTX 61 0.2939 0 -0.4045
VRTX 62 0.3408 -0.11625 -0.3469
VRTX 63 -0.3408 0.11625 -0.3469
VRTX 64 -0.2939 0 -0.4045
VRTX 65 -0.2246 -0.11625 -0.43135
VRTX 66 -0.43525 0.11625 0.21695
VRTX 67 -0.47555 0 0.1545
VRTX 68 -0.47965 -0.11625 0.0803
VRTX 69 0.07185 0.11625 0.48095
VRTX 70 0 0 0.5
VRTX 71 -0.07185 -0.11625 0.48095
VRTX 72 0.2564 -0.25285 -0.3469
VRTX 73 0.13145 -0.26285 -0.4045
VRTX 74 -0.0035155 -0.25285 -0.43135
VRTX 75 -0.2507 -0.25285 -0.351
VRTX 76 -0.3441 -0.26285 -0.25
VRTX 77 -0.4113 -0.25285 -0.12995
VRTX 78 -0.4113 -0.25285 0.12995
VRTX 79 -0.3441 -0.26285 0.25
VRTX 80 -0.2507 -0.25285 0.351
VRTX 81 -0.0035155 -0.25285 0.43135
VRTX 82 0.13145 -0.26285 0.4045
VRTX 83 0.2564 -0.25285 0.3469
VRTX 84 0.40915 -0.25285 0.13665
VRTX 85 0.42535 -0.26285 0
VRTX 86 0.40915 -0.25285 -0.13665
VRTX 87 0.11055 -0.48095 -0.0803
VRTX 88 0.21265 -0.42535 -0.1545
VRTX 89 0.2986 -0.3373 -0.21695
VRTX 90 -0.04222 -0.48095 -0.12995
VRTX 91 -0.08125 -0.42535 -0.25
VRTX 92 -0.11405 -0.3373 -0.351
VRTX 93 -0.13665 -0.48095 0
VRTX 94 -0.26285 -0.42535 0
VRTX 95 -0.3691 -0.3373 0
VRTX 96 -0.04222 -0.48095 0.12995
VRTX 97 -0.08125 -0.42535 0.25
VRTX 98 -0.11405 -0.3373 0.351
VRTX 99 0.11055 -0.48095 0.0803
VRTX 100 0.21265 -0.42535 0.1545
VRTX 101 0.2986 -0.3373 0.21695
VRTX 102 0.1809 0.4472 -0.13145
VRTX 103 0.30895 0.3702 -0.13235
VRTX 104 0.22135 0.3702 -0.2529
VRTX 105 -0.06909999999999999 0.4472 -0.21265
VRTX 106 -0.030395 0.3702 -0.3347
VRTX 107 -0.17215 0.3702 -0.28865
VRTX 108 -0.2236 0.4472 0
VRTX 109 -0.3277 0.3702 -0.0745
VRTX 110 -0.3277 0.3702 0.0745
VRTX 111 -0.06909999999999999 0.4472 0.21265
VRTX 112 -0.17215 0.3702 0.28865
VRTX 113 -0.030395 0.3702 0.3347
VRTX 114 0.1809 0.4472 0.13145
VRTX 115 0.22135 0.3702 0.2529
VRTX 116 0.30895 0.3702 0.13235
VRTX 117 0.5 0 0
VRTX 118 0.4777 -0.12755 0.0745
VRTX 119 0.4777 -0.12755 -0.0745
VRTX 120 0.1545 0 -0.47555
VRTX 121 0.2185 -0.12755 -0.43125
VRTX 122 0.07675 -0.12755 -0.47735
VRTX 123 -0.4045 0 -0.2939
VRTX 124 -0.34265 -0.12755 -0.34105
VRTX 125 -0.43025 -0.12755 -0.2205
VRTX 126 -0.4045 0 0.2939
VRTX 127 -0.43025 -0.12755 0.2205
VRTX 128 -0.34265 -0.12755 0.34105
VRTX 129 0.1545 0 0.47555
VRTX 130 0.07675 -0.12755 0.47735
VRTX 131 0.2185 -0.12755 0.43125
VRTX 132 0.4045 0 -0.2939
VRTX 133 0.34265 0.12755 -0.34105
VRTX 134 0.43025 0.12755 -0.2205
VRTX 135 -0.1545 0 -0.47555
VRTX 136 -0.2185 0.12755 -0.43125
VRTX 137 -0.07675 0.12755 -0.47735
VRTX 138 -0.5 0 0
VRTX 139 -0.4777 0.12755 0.0745
VRTX 140 -0.4777 0.12755 -0.0745
VRTX 141 -0.1545 0 0.47555
VRTX 142 -0.07675 0.12755 0.47735
VRTX 143 -0.2185 0.12755 0.43125
VRTX 144 0.4045 0 0.2939
VRTX 145 0.43025 0.12755 0.2205
VRTX 146 0.34265 0.12755 0.34105
VRTX 147 0.06909999999999999 -0.4472 -0.21265
VRTX 148 0.030395 -0.3702 -0.3347
VRTX 149 0.17215 -0.3702 -0.28865
VRTX 150 -0.1809 -0.4472 -0.13145
VRTX 151 -0.30895 -0.3702 -0.13235
VRTX 152 -0.22135 -0.3702 -0.2529
VRTX 153 -0.1809 -0.4472 0.13145
VRTX 154 -0.22135 -0.3702 0.2529
VRTX 155 -0.30895 -0.3702 0.13235
VRTX 156 0.06909999999999999 -0.4472 0.21265
VRTX 157 0.17215 -0.3702 0.28865
VRTX 158 0.030395 -0.3702 0.3347
VRTX 159 0.2236 -0.4472 0
VRTX 160 0.3277 -0.3702 -0.0745
VRTX 161 0.3277 -0.3702 0.0745
TRGL 15 0 12
TRGL 102 12 13
TRGL 15 12 102
TRGL 16 15 102
TRGL 103 13 14
TRGL 102 13 103
TRGL 104 102 103
TRGL 16 102 104
TRGL 17 16 104
TRGL 27 14 1
TRGL 103 14 27
TRGL 28 103 27
TRGL 104 103 28
TRGL 29 104 28
TRGL 17 104 29
TRGL 2 17 29
TRGL 18 0 15
TRGL 105 15 16
TRGL 18 15 105
TRGL 19 18 105
TRGL 106 16 17
TRGL 105 16 106
TRGL 107 105 106
TRGL 19 105 107
TRGL 20 19 107
TRGL 30 17 2
TRGL 106 17 30
TRGL 31 106 30
TRGL 107 106 31
TRGL 32 107 31
TRGL 20 107 32
TRGL 3 20 32
TRGL 21 0 18
TRGL 108 18 19
TRGL 21 18 108
TRGL 22 21 108
TRGL 109 19 20
TRGL 108 19 109
TRGL 110 108 109
TRGL 22 108 110
TRGL 23 22 110
TRGL 33 20 3
TRGL 109 20 33
TRGL 34 109 33
TRGL 110 109 34
TRGL 35 110 34
TRGL 23 110 35
TRGL 4 23 35
TRGL 24 0 21
TRGL 111 21 22
TRGL 24 21 111
TRGL 25 24 111
TRGL 112 22 23
TRGL 111 22 112
TRGL 113 111 112
TRGL 25 111 113
TRGL 26 25 113
TRGL 36 23 4
TRGL 112 23 36
TRGL 37 112 36
TRGL 113 112 37
TRGL 38 113 37
TRGL 26 113 38
TRGL 5 26 38
TRGL 12 0 24
TRGL 114 24 25
TRGL 12 24 114
TRGL 13 12 114
TRGL 115 25 26
TRGL 114 25 115
TRGL 116 114 115
TRGL 13 114 116
TRGL 14 13 116
TRGL 39 26 5
TRGL 115 26 39
TRGL 40 115 39
TRGL 116 115 40
TRGL 41 116 40
TRGL 14 116 41
TRGL 1 14 41
TRGL 42 1 57
TRGL 117 57 58
TRGL 42 57 117
TRGL 43 42 117
TRGL 118 58 59
TRGL 117 58 118
TRGL 119 117 118
TRGL 43 117 119
TRGL 44 43 119
TRGL 84 59 10
TRGL 118 59 84
TRGL 85 118 84
TRGL 119 118 85
TRGL 86 119 85
TRGL 44 119 86
TRGL 6 44 86
TRGL 45 2 60
TRGL 120 60 61
TRGL 45 60 120
TRGL 46 45 120
TRGL 121 61 62
TRGL 120 61 121
TRGL 122 120 121
TRGL 46 120 122
TRGL 47 46 122
TRGL 72 62 6
TRGL 121 62 72
TRGL 73 121 72
TRGL 122 121 73
TRGL 74 122 73
TRGL 47 122 74
TRGL 7 47 74
TRGL 48 3 63
TRGL 123 63 64
TRGL 48 63 123
TRGL 49 48 123
TRGL 124 64 65
TRGL 123 64 124
TRGL 125 123 124
TRGL 49 123 125
TRGL 50 49 125
TRGL 75 65 7
TRGL 124 65 75
TRGL 76 124 75
TRGL 125 124 76
TRGL 77 125 76
TRGL 50 125 77
TRGL 8 50 77
TRGL 51 4 66
TRGL 126 66 67
TRGL 51 66 126
TRGL 52 51 126
TRGL 127 67 68
TRGL 126 67 127
TRGL 128 126 127
TRGL 52 126 128
TRGL 53 52 128
TRGL 78 68 8
TRGL 127 68 78
TRGL 79 127 78
TRGL 128 127 79
TRGL 80 128 79
TRGL 53 128 80
TRGL 9 53 80
TRGL 54 5 69
TRGL 129 69 70
TRGL 54 69 129
TRGL 55 54 129
TRGL 130 70 71
TRGL 129 70 130
TRGL 131 129 130
TRGL 55 129 131
TRGL 56 55 131
TRGL 81 71 9
TRGL 130 71 81
TRGL 82 130 81
TRGL 131 130 82
TRGL 83 131 82
TRGL 56 131 83
TRGL 10 56 83
TRGL 44 6 62
TRGL 132 62 61
TRGL 44 62 132
TRGL 43 44 132
TRGL 133 61 60
TRGL 132 61 133
TRGL 134 132 133
TRGL 43 132 134
TRGL 42 43 134
TRGL 29 60 2
TRGL 133 60 29
TRGL 28 133 29
TRGL 134 133 28
TRGL 27 134 28
TRGL 42 134 27
TRGL 1 42 27
TRGL 47 7 65
TRGL 135 65 64
TRGL 47 65 135
TRGL 46 47 135
TRGL 136 64 63
TRGL 135 64 136
TRGL 137 135 136
TRGL 46 135 137
TRGL 45 46 137
TRGL 32 63 3
TRGL 136 63 32
TRGL 31 136 32
TRGL 137 136 31
TRGL 30 137 31
TRGL 45 137 30
TRGL 2 45 30
TRGL 50 8 68
TRGL 138 68 67
TRGL 50 68 138
TRGL 49 50 138
TRGL 139 67 66
TRGL 138 67 139
TRGL 140 138 139
TRGL 49 138 140
TRGL 48 49 140
TRGL 35 66 4
TRGL 139 66 35
TRGL 34 139 35
TRGL 140 139 34
TRGL 33 140 34
TRGL 48 140 33
TRGL 3 48 33
TRGL 53 9 71
TRGL 141 71 70
TRGL 53 71 141
TRGL 52 53 141
TRGL 142 70 69
TRGL 141 70 142
TRGL 143 141 142
TRGL 52 141 143
TRGL 51 52 143
TRGL 38 69 5
TRGL 142 69 38
TRGL 37 142 38
TRGL 143 142 37
TRGL 36 143 37
TRGL 51 143 36
TRGL 4 51 36
TRGL 56 10 59
TRGL 144 59 58
TRGL 56 59 144
TRGL 55 56 144
TRGL 145 58 57
TRGL 144 58 145
TRGL 146 144 145
TRGL 55 144 146
TRGL 54 55 146
TRGL 41 57 1
TRGL 145 57 41
TRGL 40 145 41
TRGL 146 145 40
TRGL 39 146 40
TRGL 54 146 39
TRGL 5 54 39
TRGL 87 11 90
TRGL 147 90 91
TRGL 87 90 147
TRGL 88 87 147
TRGL 148 91 92
TRGL 147 91 148
TRGL 149 147 148
TRGL 88 147 149
TRGL 89 88 149
TRGL 74 92 7
TRGL 148 92 74
TRGL 73 148 74
TRGL 149 148 73
TRGL 72 149 73
TRGL 89 149 72
TRGL 6 89 72
TRGL 90 11 93
TRGL 150 93 94
TRGL 90 93 150
TRGL 91 90 150
TRGL 151 94 95
TRGL 150 94 151
TRGL 152 150 151
TRGL 91 150 152
TRGL 92 91 152
TRGL 77 95 8
TRGL 151 95 77
TRGL 76 151 77
TRGL 152 151 76
TRGL 75 152 76
TRGL 92 152 75
TRGL 7 92 75
TRGL 93 11 96
TRGL 153 96 97
TRGL 93 96 153
TRGL 94 93 153
TRGL 154 97 98
TRGL 153 97 154
TRGL 155 153 154
TRGL 94 153 155
TRGL 95 94 155
TRGL 80 98 9
TRGL 154 98 80
TRGL 79 154 80
TRGL 155 154 79
TRGL 78 155 79
TRGL 95 155 78
TRGL 8 95 78
TRGL 96 11 99
TRGL 156 99 100
TRGL 96 99 156
TRGL 97 96 156
TRGL 157 100 101
TRGL 156 100 157
TRGL 158 156 157
TRGL 97 156 158
TRGL 98 97 158
TRGL 83 101 10
TRGL 157 101 83
TRGL 82 157 83
TRGL 158 157 82
TRGL 81 158 82
TRGL 98 158 81
TRGL 9 98 81
TRGL 99 11 87
TRGL 159 87 88
TRGL 99 87 159
TRGL 100 99 159
TRGL 160 88 89
TRGL 159 88 160
TRGL 161 159 160
TRGL 100 159 161
TRGL 101 100 161
TRGL 86 89 6
TRGL 160 89 86
TRGL 85 160 86
TRGL 161 160 85
TRGL 84 161 85
TRGL 101 161 84
TRGL 10 101 84
END

View File

@ -0,0 +1,382 @@
# vtk DataFile Version 4.2
vtk output
ASCII
DATASET POLYDATA
POINTS 162 float
0 0.5 0 0.4472 0.2236 0 0.1382 0.2236 -0.42535
-0.3618 0.2236 -0.26285 -0.3618 0.2236 0.26285 0.1382 0.2236 0.42535
0.3618 -0.2236 -0.26285 -0.1382 -0.2236 -0.42535 -0.4472 -0.2236 0
-0.1382 -0.2236 0.42535 0.3618 -0.2236 0.26285 0 -0.5 0
0.13665 0.48095 0 0.26285 0.42535 0 0.3691 0.3373 0
0.04222 0.48095 -0.12995 0.08125 0.42535 -0.25 0.11405 0.3373 -0.351
-0.11055 0.48095 -0.0803 -0.21265 0.42535 -0.1545 -0.2986 0.3373 -0.21695
-0.11055 0.48095 0.0803 -0.21265 0.42535 0.1545 -0.2986 0.3373 0.21695
0.04222 0.48095 0.12995 0.08125 0.42535 0.25 0.11405 0.3373 0.351
0.4113 0.25285 -0.12995 0.3441 0.26285 -0.25 0.2507 0.25285 -0.351
0.0035155 0.25285 -0.43135 -0.13145 0.26285 -0.4045 -0.2564 0.25285 -0.3469
-0.40915 0.25285 -0.13665 -0.42535 0.26285 0 -0.40915 0.25285 0.13665
-0.2564 0.25285 0.3469 -0.13145 0.26285 0.4045 0.003516 0.25285 0.43135
0.2507 0.25285 0.351 0.3441 0.26285 0.25 0.4113 0.25285 0.12995
0.47965 0.11625 -0.0803 0.47555 0 -0.1545 0.43525 -0.11625 -0.21695
0.07185 0.11625 -0.48095 0 0 -0.5 -0.07185 -0.11625 -0.48095
-0.43525 0.11625 -0.21695 -0.47555 0 -0.1545 -0.47965 -0.11625 -0.0803
-0.3408 0.11625 0.3469 -0.2939 0 0.4045 -0.2246 -0.11625 0.43135
0.2246 0.11625 0.43135 0.2939 0 0.4045 0.3408 -0.11625 0.3469
0.47965 0.11625 0.0803 0.47555 0 0.1545 0.43525 -0.11625 0.21695
0.2246 0.11625 -0.43135 0.2939 0 -0.4045 0.3408 -0.11625 -0.3469
-0.3408 0.11625 -0.3469 -0.2939 0 -0.4045 -0.2246 -0.11625 -0.43135
-0.43525 0.11625 0.21695 -0.47555 0 0.1545 -0.47965 -0.11625 0.0803
0.07185 0.11625 0.48095 0 0 0.5 -0.07185 -0.11625 0.48095
0.2564 -0.25285 -0.3469 0.13145 -0.26285 -0.4045 -0.0035155 -0.25285 -0.43135
-0.2507 -0.25285 -0.351 -0.3441 -0.26285 -0.25 -0.4113 -0.25285 -0.12995
-0.4113 -0.25285 0.12995 -0.3441 -0.26285 0.25 -0.2507 -0.25285 0.351
-0.0035155 -0.25285 0.43135 0.13145 -0.26285 0.4045 0.2564 -0.25285 0.3469
0.40915 -0.25285 0.13665 0.42535 -0.26285 0 0.40915 -0.25285 -0.13665
0.11055 -0.48095 -0.0803 0.21265 -0.42535 -0.1545 0.2986 -0.3373 -0.21695
-0.04222 -0.48095 -0.12995 -0.08125 -0.42535 -0.25 -0.11405 -0.3373 -0.351
-0.13665 -0.48095 0 -0.26285 -0.42535 0 -0.3691 -0.3373 0
-0.04222 -0.48095 0.12995 -0.08125 -0.42535 0.25 -0.11405 -0.3373 0.351
0.11055 -0.48095 0.0803 0.21265 -0.42535 0.1545 0.2986 -0.3373 0.21695
0.1809 0.4472 -0.13145 0.30895 0.3702 -0.13235 0.22135 0.3702 -0.2529
-0.0691 0.4472 -0.21265 -0.030395 0.3702 -0.3347 -0.17215 0.3702 -0.28865
-0.2236 0.4472 0 -0.3277 0.3702 -0.0745 -0.3277 0.3702 0.0745
-0.0691 0.4472 0.21265 -0.17215 0.3702 0.28865 -0.030395 0.3702 0.3347
0.1809 0.4472 0.13145 0.22135 0.3702 0.2529 0.30895 0.3702 0.13235
0.5 0 0 0.4777 -0.12755 0.0745 0.4777 -0.12755 -0.0745
0.1545 0 -0.47555 0.2185 -0.12755 -0.43125 0.07675 -0.12755 -0.47735
-0.4045 0 -0.2939 -0.34265 -0.12755 -0.34105 -0.43025 -0.12755 -0.2205
-0.4045 0 0.2939 -0.43025 -0.12755 0.2205 -0.34265 -0.12755 0.34105
0.1545 0 0.47555 0.07675 -0.12755 0.47735 0.2185 -0.12755 0.43125
0.4045 0 -0.2939 0.34265 0.12755 -0.34105 0.43025 0.12755 -0.2205
-0.1545 0 -0.47555 -0.2185 0.12755 -0.43125 -0.07675 0.12755 -0.47735
-0.5 0 0 -0.4777 0.12755 0.0745 -0.4777 0.12755 -0.0745
-0.1545 0 0.47555 -0.07675 0.12755 0.47735 -0.2185 0.12755 0.43125
0.4045 0 0.2939 0.43025 0.12755 0.2205 0.34265 0.12755 0.34105
0.0691 -0.4472 -0.21265 0.030395 -0.3702 -0.3347 0.17215 -0.3702 -0.28865
-0.1809 -0.4472 -0.13145 -0.30895 -0.3702 -0.13235 -0.22135 -0.3702 -0.2529
-0.1809 -0.4472 0.13145 -0.22135 -0.3702 0.2529 -0.30895 -0.3702 0.13235
0.0691 -0.4472 0.21265 0.17215 -0.3702 0.28865 0.030395 -0.3702 0.3347
0.2236 -0.4472 0 0.3277 -0.3702 -0.0745 0.3277 -0.3702 0.0745
POLYGONS 320 1280
3 0 12 15
3 12 13 102
3 12 102 15
3 15 102 16
3 13 14 103
3 13 103 102
3 102 103 104
3 102 104 16
3 16 104 17
3 14 1 27
3 14 27 103
3 103 27 28
3 103 28 104
3 104 28 29
3 104 29 17
3 17 29 2
3 0 15 18
3 15 16 105
3 15 105 18
3 18 105 19
3 16 17 106
3 16 106 105
3 105 106 107
3 105 107 19
3 19 107 20
3 17 2 30
3 17 30 106
3 106 30 31
3 106 31 107
3 107 31 32
3 107 32 20
3 20 32 3
3 0 18 21
3 18 19 108
3 18 108 21
3 21 108 22
3 19 20 109
3 19 109 108
3 108 109 110
3 108 110 22
3 22 110 23
3 20 3 33
3 20 33 109
3 109 33 34
3 109 34 110
3 110 34 35
3 110 35 23
3 23 35 4
3 0 21 24
3 21 22 111
3 21 111 24
3 24 111 25
3 22 23 112
3 22 112 111
3 111 112 113
3 111 113 25
3 25 113 26
3 23 4 36
3 23 36 112
3 112 36 37
3 112 37 113
3 113 37 38
3 113 38 26
3 26 38 5
3 0 24 12
3 24 25 114
3 24 114 12
3 12 114 13
3 25 26 115
3 25 115 114
3 114 115 116
3 114 116 13
3 13 116 14
3 26 5 39
3 26 39 115
3 115 39 40
3 115 40 116
3 116 40 41
3 116 41 14
3 14 41 1
3 1 57 42
3 57 58 117
3 57 117 42
3 42 117 43
3 58 59 118
3 58 118 117
3 117 118 119
3 117 119 43
3 43 119 44
3 59 10 84
3 59 84 118
3 118 84 85
3 118 85 119
3 119 85 86
3 119 86 44
3 44 86 6
3 2 60 45
3 60 61 120
3 60 120 45
3 45 120 46
3 61 62 121
3 61 121 120
3 120 121 122
3 120 122 46
3 46 122 47
3 62 6 72
3 62 72 121
3 121 72 73
3 121 73 122
3 122 73 74
3 122 74 47
3 47 74 7
3 3 63 48
3 63 64 123
3 63 123 48
3 48 123 49
3 64 65 124
3 64 124 123
3 123 124 125
3 123 125 49
3 49 125 50
3 65 7 75
3 65 75 124
3 124 75 76
3 124 76 125
3 125 76 77
3 125 77 50
3 50 77 8
3 4 66 51
3 66 67 126
3 66 126 51
3 51 126 52
3 67 68 127
3 67 127 126
3 126 127 128
3 126 128 52
3 52 128 53
3 68 8 78
3 68 78 127
3 127 78 79
3 127 79 128
3 128 79 80
3 128 80 53
3 53 80 9
3 5 69 54
3 69 70 129
3 69 129 54
3 54 129 55
3 70 71 130
3 70 130 129
3 129 130 131
3 129 131 55
3 55 131 56
3 71 9 81
3 71 81 130
3 130 81 82
3 130 82 131
3 131 82 83
3 131 83 56
3 56 83 10
3 6 62 44
3 62 61 132
3 62 132 44
3 44 132 43
3 61 60 133
3 61 133 132
3 132 133 134
3 132 134 43
3 43 134 42
3 60 2 29
3 60 29 133
3 133 29 28
3 133 28 134
3 134 28 27
3 134 27 42
3 42 27 1
3 7 65 47
3 65 64 135
3 65 135 47
3 47 135 46
3 64 63 136
3 64 136 135
3 135 136 137
3 135 137 46
3 46 137 45
3 63 3 32
3 63 32 136
3 136 32 31
3 136 31 137
3 137 31 30
3 137 30 45
3 45 30 2
3 8 68 50
3 68 67 138
3 68 138 50
3 50 138 49
3 67 66 139
3 67 139 138
3 138 139 140
3 138 140 49
3 49 140 48
3 66 4 35
3 66 35 139
3 139 35 34
3 139 34 140
3 140 34 33
3 140 33 48
3 48 33 3
3 9 71 53
3 71 70 141
3 71 141 53
3 53 141 52
3 70 69 142
3 70 142 141
3 141 142 143
3 141 143 52
3 52 143 51
3 69 5 38
3 69 38 142
3 142 38 37
3 142 37 143
3 143 37 36
3 143 36 51
3 51 36 4
3 10 59 56
3 59 58 144
3 59 144 56
3 56 144 55
3 58 57 145
3 58 145 144
3 144 145 146
3 144 146 55
3 55 146 54
3 57 1 41
3 57 41 145
3 145 41 40
3 145 40 146
3 146 40 39
3 146 39 54
3 54 39 5
3 11 90 87
3 90 91 147
3 90 147 87
3 87 147 88
3 91 92 148
3 91 148 147
3 147 148 149
3 147 149 88
3 88 149 89
3 92 7 74
3 92 74 148
3 148 74 73
3 148 73 149
3 149 73 72
3 149 72 89
3 89 72 6
3 11 93 90
3 93 94 150
3 93 150 90
3 90 150 91
3 94 95 151
3 94 151 150
3 150 151 152
3 150 152 91
3 91 152 92
3 95 8 77
3 95 77 151
3 151 77 76
3 151 76 152
3 152 76 75
3 152 75 92
3 92 75 7
3 11 96 93
3 96 97 153
3 96 153 93
3 93 153 94
3 97 98 154
3 97 154 153
3 153 154 155
3 153 155 94
3 94 155 95
3 98 9 80
3 98 80 154
3 154 80 79
3 154 79 155
3 155 79 78
3 155 78 95
3 95 78 8
3 11 99 96
3 99 100 156
3 99 156 96
3 96 156 97
3 100 101 157
3 100 157 156
3 156 157 158
3 156 158 97
3 97 158 98
3 101 10 83
3 101 83 157
3 157 83 82
3 157 82 158
3 158 82 81
3 158 81 98
3 98 81 9
3 11 87 99
3 87 88 159
3 87 159 99
3 99 159 100
3 88 89 160
3 88 160 159
3 159 160 161
3 159 161 100
3 100 161 101
3 89 6 86
3 89 86 160
3 160 86 85
3 160 85 161
3 161 85 84
3 161 84 101
3 101 84 10

View File

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<VTKFile type="PolyData" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
<PolyData>
<Piece NumberOfPoints="162" NumberOfVerts="0" NumberOfLines="0" NumberOfStrips="0" NumberOfPolys="320" >
<PointData>
</PointData>
<CellData>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.49997970173" RangeMax="0.50002626622" offset="0" />
</Points>
<Verts>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="1052" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="1068" />
</Verts>
<Lines>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="1084" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="1100" />
</Lines>
<Strips>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="1116" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="1132" />
</Strips>
<Polys>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="1148" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="2700" />
</Polys>
</Piece>
</PolyData>
<AppendedData encoding="base64">
_AQAAAACAAACYBwAAAwMAAA==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
</AppendedData>
</VTKFile>

View File

@ -0,0 +1,22 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
<UnstructuredGrid>
<Piece NumberOfPoints="162" NumberOfCells="320" >
<PointData>
</PointData>
<CellData>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.49997970173" RangeMax="0.50002626622" offset="0" />
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="1052" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="2604" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="3372" />
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="base64">
_AQAAAACAAACYBwAAAwMAAA==eJxNVUtIVVEUfQQV9IECQUtpFNGg3yQo6q43kz7UKIKIisJeDYImSaEGSuGgsMlTkVBpEEVUmgZB5d1akz4YkTSRHmHSoKJ0kGUIRWftd26tO3gs9lt37XX259xczp88fwqzH1GYrQPxnotLHTc8G7fx5KER17a3KoZwEOLERk6Ik2N8N2g6jppZXPkoW8gN82fu22JU5H96jP+RS3x3bgidg3ccf5hal5DTs3y+FQo3kjKn2ZYUPyfk1D64b4tOTqbk7DtzPf06csBz5jevshWTXUbO6rWHlZMIB8KB5ILkguTCl44xXKlvcT8T6++hfKZmGznY7HH62VtX2Eb8abxkb68u8HNfW/naSrUXjPGJ7gGraXrjONTAa5fVRuIQPkQHA6f+6UPyQvyoT/S3/0BjxVTC+uxq/O55WJ/K8feMp6xP1ZpiQk44v+X+P8MhnpLDeOAbOeQHHct0gj7jKfX3n+9zDj0va+h0Dj1f/n3cOfQcsPshDhxknPCu++G74jkRzxDPqmOiY6Jj4sfEj4kfPRfkXJBzJVIfSH3yUh/2izU35gr98h1irjAPjxlnrtAv9tQ4J6FfvkOcn9Avj3OuBEM4kHchmpBc6gFhlhxzljjLZR2fsSzOvfCex93xOyDuDnfQ2OuwF97/uIMpOXEHU3J4Fmpls8M8ZY7vMvfL4i5nOhAdiA7ETyJ+IH7CfbIVvL+4E4MbevHuUoqnrQuteOuY45qmlnAvtaXkcNen//waYnz00G2r3LHJiKdfFP1+Iofedj+/6fH6YlcqOBEdyLsQTfUD8QDxhuze5VPVMYNz3fOM+oJTnpP/cwbP2hGPvxotWfXGnoR4y4kZnydyOMtjp/uN8erePnu0s+T4ycujyoHEIXxILog+JK/fNZKLccRcjpmLsyKeqY/oOSWm5+y+j2d3Tjx7hlPRgbwL0VQ/EA8Qb+E71ZbwOxT7vj3U32Lf2Qtj30O//FsV54c9tTg/jjk/woHEIXzNBdGH5PVvJjlxxpwTZyzDyV+565JTAQAAAACAAAAAHgAAegQAAA==eJxdl9lXTlEcQD/zVESZIslUiIjIPM9DqYgGGoiIUkqKiIiIEhER/6kHv/3Q/l722nuds866Z911zv0Sif+/pOACeXKwQb1B4xeop2j+/OBtdbxBpN9Rx1NE+kKtNyW4Qh2/LdJXquN3RHqGOr5QpE9NTP6xf4vkPF+jeqPGL1JP1XzWv6uON4r0e+p4qkhP03o85yp1/K5Iz1TH74n01ep4mkiflpj8Y/8Wy3m+JvUmjV+svkTzWf++Ot4k0h+o40tE+lKtx3NmqeP3RfoadfyBSF+rji8V6dMTk3/s3zI5z9es3qzxy9SXaz7rt6jjzSL9oTq+XKSnaz2ec5063iLS16vjD0X6BnU8XaTPSEz+sX9Jcp6vVb1V45PUOd+Zz/pt6nirSH+kjieLdM531uM5s9XxNpGeo44/Eukb1fH5In2KuCe4Sb432K7ervGb1Ddr/r5ghzreLtIfq+ObRXqu1psbLFPHO0T6ZXX8sUi/oo7nivSZQe6n/cEt8gPBTvVOjd+ivlXzDwafqOOdIr1LHd8q0vO0Hs95Wh1/ItLPqONdIv2sOp4n0mcFuZ8OBbfJDwe71bs1fpv6ds0/EnyqjneL9Gfq+HaRnq/1eM5z6vhTkX5eHX8m0i+o4/kifXaQ++locIf8WLBHvUfjd6jv1PzjwefqeI9If6GO7xTpBVqP57yojj8X6UXq+AuRXqyOF4j0OUHupxPBXfKTwV71Xo3fpb5b808FX6rjvSL9lTq+W6QXaj2e85I6/lKkl6jjr0R6qTpeKNK5lzgfORdz5ZzTfep9Gp+rzr3IfO6N1+p4n0h/o477/qXzHcB63G8Z6vhrkb5SHX8j0leo4/4+ofPdw/nIuZgnPxzsV+/X+Dx17kXmc2+8Vcf7Rfo7ddz3L53vANbjflutjr8V6Znq+DuRvkod9/cJnfeC85FzMV/OOT2gPqDx+erci8zn3nivjg+I9A/quO9fOt8BrMf9tlYdfy/S16jjH0R6ljru7xM67wXnI+digZxzelB9UOML1LkXmc+98VEdHxTpn9Rx3790vgNYj/ttgzr+UaSvV8c/ifR16ri/T+i8F9wD/C8plPM/aUh9SOML1bkXmc//tmF1fEikf1bHff/S+Q5gPc7Zjer4sEjPUcc/i/RsddzfJ3Tei3nBimC5vDI4oj6i8eXqVzW/KvhFHR8R6V/V8asi/ZrW4347q45/Eeln1PGvIv20On5NpPPdw/5XByvk14Oj6qMaX6HO/jL/RvCbOj4q0r+r45Uinf1lPe63C+r4N5F+Xh3/LtLPqeNVIp33gv2vCVbLa4Nj6mMaX63O/jK/LvhDHR8T6T/V8esinf1lPe63YnX8h0gvUsd/ivSL6vgNkc57wf7XB2vkN4Pj6uMaX6PO/jL/VvCXOj4u0n+r47Uinf1lPe63UnX8l0gvUcd/i/RL6nidSOe9YP85v+vlnK8T6hMaX6/O/jKf8++POj4h0v+q4zdFOvvLepyzV9TxPyL9sjr+V6SXqeO3RDrvxT+JozF0AQAAAACAAAAACgAALgIAAA==eJwtxVlgCAQAANCZWtREJDTmvltWtIzVipb7ysqR1VhIxmqMaRkiNFZz5r6XMbm1rNQc5S50IGeXct/pUHzsvZ9XNKBQkIs72CVd2mVd3iEOdVXXcG3Xc5jD3dARjnSUo93MMW7pNm7vTo51F3d3nOOd4D7u50QnOdkpTnWa0z3KYzzOGc50lqd4umd6jud7kbOd41yv9Bqvd57zvckF3uqvvNN7/I0P+Hsf8hEf90/+1b/7jM/7kq/6T//tm77lwCKF3+livsf3+j7f73J+0JVcxdVdy3X9kBv4UT/mxm7qJ/20n3ELt3Y7d3Rnv+Bu7uGX3cu9/ar7e6Df8GAP9Zse7pEe7bF+1xP9vid7mmd4tud5oZd4qZf7I6/2On/sjf7MX3iLv/QO7/bX3u/vfNA/+phP+hef8mmf80Vf8XX/5X/9v4sEFn6H7/LdLuFSLuMHXMEVXdnVXNN1XN8P+xE38uNu4if8lJv7WbdyW3fwc37eXf2iX3JPv+K+fs0D/LoHeYiH+S2P8Nt+x+M9we95kqf6A8/yXC/wYn/oZV7hVV7rDf7En/pzb/Y2b/cu7/U+f+sffNhHfcI/+zf/4bO+4Mu+5hv+x/85oKgc5OIOdkmXdlmXd4hDXdU1XNv1HOZwN3SEIx3laDdzjFu6jdu7k2Pdxd0d53gnuI/7OdFJTnaKU53mdI/yGI9zhjOd5Sme7pme4/le5GznONcrvcbrned8b3KBbwOE3pmjAQAAAACAAABAAQAADQAAAA==eJxjZR0FlAAA7I0GQQ==
</AppendedData>
</VTKFile>

View File

@ -0,0 +1,88 @@
var testItem = "./testing/data/sphere.off";
main_window.open(testItem, 'off_plugin');
main_window.test_all_actions();
testItem = "./testing/data/oni.pwn";
main_window.open(testItem, 'xyz_plugin');
main_window.test_all_actions();
var itemA = "./testing/data/itema.off";
var itemB = "./testing/data/itemb.off";
main_window.open(itemA, 'off_to_nef_plugin');
main_window.open(itemB, 'off_to_nef_plugin');
scene.setItemA(0);
scene.setItemB(1);
main_window.test_all_actions();
testItem = "./testing/data/poly.polylines.txt";
main_window.open(testItem, 'polylines_io_plugin');
main_window.test_all_actions();
testItem = "./testing/data/sphere.mesh";
main_window.open(testItem, 'C3t3_io_plugin');
main_window.test_all_actions();
testItem = "./testing/data/camera.camera.txt";
main_window.open(testItem, 'camera_positions_plugin');
testItem = "./testing/data/sphere.ts";
main_window.open(testItem, 'gocad_plugin');
scene.erase(0);
testItem = "./testing/data/sphere.nef3";
main_window.open(testItem, 'io_nef_plugin');
scene.erase(0);
testItem = "./testing/data/sphere.ply";
main_window.open(testItem, 'ply_plugin');
scene.erase(0);
testItem = "./testing/data/oni.ply";
main_window.open(testItem, 'ply_plugin');
scene.erase(0);
testItem = "./testing/data/sphere.stl";
main_window.open(testItem, 'stl_plugin');
scene.erase(0);
if (typeof vtk_plugin !== "undefined") {
testItem = "./testing/data/sphere.vtk";
main_window.open(testItem, 'vtk_plugin');
scene.erase(0);
testItem = "./testing/data/sphere.vtp";
main_window.open(testItem, 'vtk_plugin');
scene.erase(0);
testItem = "./testing/data/sphere.vtu";
main_window.open(testItem, 'vtk_plugin');
scene.erase(0);
}
testItem = "./testing/data/sphere.off";
main_window.open(testItem, 'off_plugin');
testItem = "./testing/data/sphere.selection.txt";
main_window.open(testItem, 'selection_sm_plugin');
scene.erase(1);
scene.erase(0);
testItem = "./testing/data/mini.surf";
main_window.open(testItem, 'surf_io_plugin');
scene.erase(3); //id of the group contaning the items.
testItem = "./testing/data/sphere.inr";
main_window.open(testItem, 'segmented images');
scene.erase(0);
testItem = "./testing/data/sphere.inr.gz";
main_window.open(testItem, 'segmented images');
scene.erase(0);
testItem = "./testing/data/sphere.inr.gz";
main_window.open(testItem, 'segmented images');
scene.erase(0);
if (typeof las_plugin !== "undefined") {
testItem = "./testing/data/oni.las";
main_window.open(testItem, 'las_plugin');
scene.erase(0);
}

View File

@ -3,7 +3,7 @@
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Three/Scene_item.h>
#include <queue>
@ -20,7 +20,7 @@ class FacetTriangulator
typedef typename Kernel::Vector_3 Vector;
typedef CGAL::Triangulation_2_projection_traits_3<Traits> P_traits;
typedef CGAL::Projection_traits_3<Traits> P_traits;
typedef CGAL::Triangulation_vertex_base_with_info_2<halfedge_descriptor,
P_traits> Vb;

View File

@ -22,6 +22,8 @@
#include <CGAL/Three/Viewer_interface.h>
#include <QMainWindow>
#include <QApplication>
#include <QMutex>
#include <QWaitCondition>
#ifdef three_EXPORTS
# define THREE_EXPORT Q_DECL_EXPORT
@ -58,6 +60,9 @@ public:
static int getDefaultPointSize();
static int getDefaultNormalLength();
static int getDefaultLinesWidth();
static bool &isLocked();
static QMutex *getMutex();
static QWaitCondition* getWaitCondition();
/*! \brief Adds a dock widget to the interface
*
* Adds a dock widget in the left section of the MainWindow. If the slot is already
@ -105,6 +110,7 @@ public:
* Displays an error popup.
*/
static void error(QString title, QString message);
static void lock_test_item(bool b);
protected:
static QMainWindow* s_mainwindow;
static Viewer_interface* s_mainviewer;
@ -117,6 +123,9 @@ protected:
static int default_point_size;
static int default_normal_length;
static int default_lines_width;
static QMutex* s_mutex;
static QWaitCondition* s_wait_condition;
static bool s_is_locked;
public:
struct CursorScopeGuard

View File

@ -487,7 +487,9 @@ See Section \ref Section_2D_Triangulations_Delaunay for an example.
`Projection_traits_xz_3<R>` to
deal with projections on the
`yz` plane and `xz`-plane,
respectively.
respectively, as well as the geometric traits class
`Projection_traits_3<R>` that deals with projections onto an
arbitrary plane defined by its orthogonal vector.
\subsection Subsection_2D_Triangulations_Basic_Example Example of a Basic Triangulation

View File

@ -0,0 +1,39 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Projection_traits_3.h>
#include <iostream>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Projection_traits_3<K> GT;
typedef CGAL::Exact_predicates_tag Itag;
typedef CGAL::Constrained_Delaunay_triangulation_2<GT, CGAL::Default, Itag> CDT;
typedef CDT::Point Point;
typedef CDT::Edge Edge;
int main()
{
//4 points on the diagonal plane of a cube
std::vector<Point> ps(4);
ps[0] = Point(0,0,0);
ps[1] = Point(3,1,-1);
ps[2] = Point(-1, 3, -3);
ps[3] = Point(1,0.5,-0.5);
GT gt{ { 0, 1, 1} };
CDT cdt(gt);
for(int i = 0; i< 4; ++i)
cdt.insert(ps[i]);
for(int i = 1; i < 3; ++i)
cdt.insert_constraint(ps[i], ps[i+1]);
for(CDT::Face_handle f : cdt.all_face_handles())
{
for(int i=0; i<3; ++i)
std::cout << f->vertex(i)->point() << " ";
std::cout << std::endl;
}
}

View File

@ -10,43 +10,46 @@
//
// Author(s) : Laurent Rineau
#ifndef CGAL_TRIANGULATION_2_PROJECTION_TRAITS_3_H
#define CGAL_TRIANGULATION_2_PROJECTION_TRAITS_3_H
#include <CGAL/license/Triangulation_2.h>
#define CGAL_DEPRECATED_HEADER "<CGAL/Triangulation_2_projection_traits_3.h>"
#define CGAL_REPLACEMENT_HEADER "<CGAL/Projection_traits_3.h>"
#include <CGAL/Installation/internal/deprecation_warning.h>
#include <CGAL/Triangulation_2/internal/Triangulation_2_filtered_projection_traits_3.h>
#ifndef CGAL_NO_DEPRECATED_CODE
namespace CGAL{
#include <CGAL/Kernel_23/internal/Filtered_projection_traits_3.h>
namespace CGAL {
// This declaration is needed to break the cyclic dependency.
template < class Filtered_kernel >
class Triangulation_2_filtered_projection_traits_3;
class Filtered_projection_traits_3;
template <class Kernel, bool Has_filtered_predicates=Kernel::Has_filtered_predicates>
template <class Kernel, bool Has_filtered_predicates = Kernel::Has_filtered_predicates>
class Triangulation_2_projection_traits_3
: public Triangulation_2_projection_traits_base_3<Kernel>
: public Projection_traits_base_3<Kernel>
{
public:
explicit
Triangulation_2_projection_traits_3(const typename Kernel::Vector_3& n_)
: Triangulation_2_projection_traits_base_3<Kernel>(n_)
explicit Triangulation_2_projection_traits_3(const typename Kernel::Vector_3& n_)
: Projection_traits_base_3<Kernel>(n_)
{}
};
template <class Kernel>
class Triangulation_2_projection_traits_3<Kernel, true>
: public Triangulation_2_filtered_projection_traits_3<Kernel>
: public Filtered_projection_traits_3<Kernel>
{
public:
explicit
Triangulation_2_projection_traits_3(const typename Kernel::Vector_3& n_)
: Triangulation_2_filtered_projection_traits_3<Kernel>(n_)
explicit Triangulation_2_projection_traits_3(const typename Kernel::Vector_3& n_)
: Filtered_projection_traits_3<Kernel>(n_)
{}
};
} // end namespace CGAL
#endif //CGAL_NO_DEPRECATED_CODE
#endif // CGAL_TRIANGULATION_2_PROJECTION_TRAITS_3_H

View File

@ -29,5 +29,6 @@ if(BUILD_TESTING)
execution___of__test_regular_triangulation_2
execution___of__test_const_del_triangulation_2
execution___of__test_regular_hierarchy_2
execution___of__test_deprecated_projection_traits
PROPERTIES RESOURCE_LOCK Triangulation_2_Tests_IO)
endif()

View File

@ -1,13 +1,15 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <CGAL/Projection_traits_3.h>
#include <CGAL/Installation/internal/disable_deprecation_warnings_and_errors.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <string>
#include <fstream>
typedef const double vec[3];
const vec input[10] =
{ { -0.37503900000000001, 0.5, 0.47710999999999998 },
@ -128,20 +130,10 @@ int main()
typedef CGAL::Exact_predicates_inexact_constructions_kernel Epick;
bool ok = true;
ok = ok &&
test<CGAL::Epick,
CGAL::Triangulation_2_projection_traits_3<Epick> >
("CDT_2 in a 3D plane, with Epick");
ok = ok &&
test<CGAL::Epeck,
CGAL::Triangulation_2_projection_traits_3<Epeck> >
("CDT_2 in a 3D plane, with Epeck");
ok = ok && test_segment_intersections<CGAL::Epick,
CGAL::Triangulation_2_projection_traits_3<Epick> >
("CDT_2 traits intersection with Epick");
ok = ok && test_segment_intersections<CGAL::Epeck,
CGAL::Triangulation_2_projection_traits_3<Epeck> >
("CDT_2 traits intersection with Epeck");
ok = ok && test<CGAL::Epick, CGAL::Projection_traits_3<Epick> >("CDT_2 in a 3D plane, with Epick");
ok = ok && test<CGAL::Epeck, CGAL::Projection_traits_3<Epeck> >("CDT_2 in a 3D plane, with Epeck");
ok = ok && test_segment_intersections<CGAL::Epick, CGAL::Triangulation_2_projection_traits_3<Epick> >("CDT_2 traits intersection with Epick");
ok = ok && test_segment_intersections<CGAL::Epeck, CGAL::Triangulation_2_projection_traits_3<Epeck> >("CDT_2 traits intersection with Epeck");
return ok ? 0 : 1;
}

View File

@ -0,0 +1,34 @@
#include <CGAL/Installation/internal/disable_deprecation_warnings_and_errors.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2_projection_traits_3.h>
#include <iostream>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Triangulation_2_projection_traits_3<K> GT;
typedef CGAL::Exact_predicates_tag Itag;
typedef CGAL::Constrained_Delaunay_triangulation_2<GT, CGAL::Default, Itag> CDT;
typedef CDT::Point Point;
typedef CDT::Edge Edge;
int main()
{
//4 points on the diagonal plane of a cube
std::vector<Point> ps(4);
ps[0] = Point(0,0,0);
ps[1] = Point(3,1,-1);
ps[2] = Point(-1, 3, -3);
ps[3] = Point(1,0.5,-0.5);
GT gt{ { 0, 1, 1} };
CDT cdt(gt);
for(int i = 0; i< 4; ++i)
cdt.insert(ps[i]);
for(int i = 1; i < 3; ++i)
cdt.insert_constraint(ps[i], ps[i+1]);
}