rearranged makefiles and things

This commit is contained in:
Daniel Russel 2006-03-23 23:59:38 +00:00
parent 5543720129
commit b901b906d1
8 changed files with 233 additions and 212 deletions

1
.gitattributes vendored
View File

@ -562,6 +562,7 @@ Kernel_23/doc_tex/Kernel_23_ref/fig/compare_x_at_y.gif -text svneol=unset#unset
Kernel_23/doc_tex/Kernel_23_ref/fig/compare_x_at_y.pdf -text svneol=unset#unset
Kernel_23/doc_tex/Kernel_23_ref/fig/transvecthree.gif -text svneol=unset#unset
Kernel_23/doc_tex/Kernel_23_ref/fig/transvectwo.gif -text svneol=unset#unset
Kinetic_data_structures/demo/Kinetic_data_structures/makefile -text
Kinetic_data_structures/doc_tex/Kinetic_data_structures/adding_certificate.tex -text
Kinetic_data_structures/doc_tex/Kinetic_data_structures/architecture.odg -text svneol=unset#unset
Kinetic_data_structures/doc_tex/Kinetic_data_structures/architecture_pct.eps -text

View File

@ -1,162 +0,0 @@
#include <CGAL/Kinetic/Exact_simulation_traits_3.h>
#include <CGAL/Kinetic/Regular_triangulation_exact_simulation_traits_3.h>
#include <boost/program_options.hpp>
#include <CGAL/Kinetic/Enclosing_box_3.h>
#include <CGAL/Random.h>
#include <vector>
#ifdef CGAL_USE_SOQT
#include "include/SoQt_widget_3.h"
#include "include/SoQt_moving_points_3.h"
#include "include/SoQt_moving_weighted_points_3.h"
#endif
#include <CGAL/Kinetic/Insert_event.h>
/*!
\file coin_check.cc A simple example using the coin GUI.
*/
int main(int argc, char *argv[])
{
#ifdef CGAL_USE_SOQT
int n=10;
int d=2;
bool print_help=false;
std::string file;
bool verbose=false;
bool weighted=false;
boost::program_options::options_description desc("Allowed options");
desc.add_options()
("help", boost::program_options::bool_switch(&print_help), "produce help message")
("verbose,v", boost::program_options::bool_switch(&verbose), "produce lots of output")
("weighted,w", boost::program_options::bool_switch(&weighted), "Use weighted points instead of unweighted")
("num-points,n", boost::program_options::value<int>(&n), "Number of points to use.")
("degree,d", boost::program_options::value<int>(&d), "The degree of the motions to use.")
("file,f", boost::program_options::value<std::string>(&file), "Read points from a file.");
boost::program_options::variables_map vm;
boost::program_options::store(boost::program_options::command_line_parser(argc, argv).
options(desc).run(), vm);
boost::program_options::notify(vm);
if (print_help) {
std::cout << desc << "\n";
return EXIT_FAILURE;
}
if (weighted) {
typedef CGAL::Kinetic::Regular_triangulation_exact_simulation_traits_3 Traits;
typedef CGAL::Kinetic::SoQt_widget_3<Traits::Simulator> Qt_gui;
typedef CGAL::Kinetic::SoQt_moving_weighted_points_3<Traits, Qt_gui> Qt_mpt;
Traits tr;
Qt_gui::Handle qtsim= new Qt_gui(argc, argv, tr.simulator_handle());
Qt_mpt::Handle qtmpt= new Qt_mpt(tr, qtsim);
Traits::Simulator::Handle sim= tr.simulator_handle();
Traits::Active_points_3_table::Handle mpt= tr.active_points_3_table_handle();
typedef Traits::Kinetic_kernel::Motion_function Fn;
if (file.empty()) {
CGAL::Random rand;
for (int i=0; i< n; ++i) {
std::vector<double> coefsx, coefsy, coefsz, coefsw;
for (int j=0; j< d; ++j) {
coefsx.push_back((rand.get_double()*10-5)/(j+1));
coefsy.push_back((rand.get_double()*10-5)/(j+1));
coefsz.push_back((rand.get_double()*10-5)/(j+1));
coefsw.push_back((rand.get_double())/(j+1));
}
Traits::Kinetic_kernel::Weighted_point_3 mp(Traits::Kinetic_kernel::Point_3(Fn(coefsx.begin(), coefsx.end()),
Fn(coefsy.begin(), coefsy.end()),
Fn(coefsz.begin(), coefsz.end())),
Fn(coefsw.begin(), coefsw.end()));
tr.active_points_3_table_handle()->insert(mp);
}
}
else {
std::ifstream in(file.c_str());
if (!in) {
std::cerr << "Error opening input file: " << file << std::endl;
return EXIT_FAILURE;
}
char buf[1000];
int nread=0;
while (true ) {
in.getline(buf, 1000);
if (!in) break;
std::istringstream il(buf);
Traits::Kinetic_kernel::Weighted_point_3 p;
il >> p;
tr.active_points_3_table_handle()->insert(p);
++nread;
}
std::cout << nread << " points read.\n";
}
return qtsim->begin_event_loop();
}
else {
typedef CGAL::Kinetic::Exact_simulation_traits_3 Traits;
typedef CGAL::Kinetic::SoQt_widget_3<Traits::Simulator> Qt_gui;
typedef CGAL::Kinetic::SoQt_moving_points_3<Traits, Qt_gui> Qt_mpt;
Traits tr;
Qt_gui::Handle qtsim= new Qt_gui(argc, argv, tr.simulator_handle());
Qt_mpt::Handle qtmpt= new Qt_mpt(tr, qtsim);
typedef Traits::Kinetic_kernel::Motion_function Fn;
Traits::Simulator::Handle sim= tr.simulator_handle();
Traits::Active_points_3_table::Handle mpt= tr.active_points_3_table_handle();
CGAL::Kinetic::Enclosing_box_3<Traits> eb(tr,-10,10,-10,10,-10,10);
if (file.empty()) {
CGAL::Random rand;
for (int i=0; i< n; ++i) {
std::vector<double> coefsx, coefsy, coefsz;
for (int j=0; j< d; ++j) {
coefsx.push_back((rand.get_double()*10-5)/(j+1));
coefsy.push_back((rand.get_double()*10-5)/(j+1));
coefsz.push_back((rand.get_double()*10-5)/(j+1));
}
Traits::Kinetic_kernel::Point_3 mp(Fn(coefsx.begin(), coefsx.end()),
Fn(coefsy.begin(), coefsy.end()),
Fn(coefsz.begin(), coefsz.end()));
tr.active_points_3_table_handle()->insert(mp);
}
}
else {
std::ifstream in(file.c_str());
if (!in) {
std::cerr << "Error opening input file: " << file << std::endl;
return EXIT_FAILURE;
}
char buf[1000];
int nread=0;
while (true ) {
in.getline(buf, 1000);
if (!in) break;
std::istringstream il(buf);
Traits::Kinetic_kernel::Point_3 p;
il >> p;
tr.active_points_3_table_handle()->insert(p);
++nread;
}
std::cout << nread << " points read.\n";
}
return qtsim->begin_event_loop();
}
#else
std::cout << "An install of Inventor and SoQt are required for this demo. "
"Please make sure they are installed and then compile "
"using the makefile 'makefile.soqt'.\n"
"They can be found at http://www.coin3d.org or as an rpm from "
"your linux distribution (they are part of Fedora extras, for example).\n";
return EXIT_FAILURE;
#endif
}

View File

@ -3,12 +3,12 @@
#include <algorithm>
#include <CGAL/Kinetic/Delaunay_triangulation_3.h>
#ifdef CGAL_USE_SOQT
//#ifdef CGAL_USE_SOQT
#include "include/SoQt_widget_3.h"
#include "include/SoQt_moving_points_3.h"
#include "include/SoQt_triangulation_3.h"
#include <CGAL/Kinetic/Enclosing_box_3.h>
#endif
//#endif
#ifdef CGAL_USE_BOOST_PROGRAM_OPTIONS
#include <boost/program_options.hpp>
@ -16,7 +16,7 @@
int main(int argc, char *argv[])
{
#ifdef CGAL_USE_SOQT
//#ifdef CGAL_USE_SOQT
int n=10;
int d=2;
bool print_help=false;
@ -112,13 +112,13 @@ int main(int argc, char *argv[])
kdel->set_has_certificates(true);
return qtsim->begin_event_loop();
#else
/*#else
std::cout << "An install of Inventor and SoQt are required for this demo. "
"Please make sure they are installed and then compile "
"using the makefile 'makefile.soqt'.\n"
"They can be found at http://www.coin3d.org or as an rpm from "
"your linux distribution (they are part of Fedora extras, for example).\n";
return EXIT_FAILURE;
#endif
#endif*/
};

View File

@ -18,7 +18,7 @@
//
// Author(s) : Daniel Russel <drussel@alumni.princeton.edu>
#ifdef CGAL_USE_SOQT
//#ifdef CGAL_USE_SOQT
#include "include/SoQt_examiner_viewer.h"
@ -75,8 +75,8 @@ namespace CGAL
};
}
#else
//#else
static bool SoQt_examiner_viewer_compiled_without_CGAL_USE_SOQT_defined;
//static bool SoQt_examiner_viewer_compiled_without_CGAL_USE_SOQT_defined;
#endif
//#endif

View File

@ -0,0 +1,162 @@
#include <CGAL/Kinetic/Exact_simulation_traits_3.h>
#include <CGAL/Kinetic/Regular_triangulation_exact_simulation_traits_3.h>
#include <boost/program_options.hpp>
#include <CGAL/Kinetic/Enclosing_box_3.h>
#include <CGAL/Random.h>
#include <vector>
//#ifdef CGAL_USE_SOQT
#include "include/SoQt_widget_3.h"
#include "include/SoQt_moving_points_3.h"
#include "include/SoQt_moving_weighted_points_3.h"
//#endif
#include <CGAL/Kinetic/Insert_event.h>
/*!
\file coin_check.cc A simple example using the coin GUI.
*/
int main(int argc, char *argv[])
{
//#ifdef CGAL_USE_SOQT
int n=10;
int d=2;
bool print_help=false;
std::string file;
bool verbose=false;
bool weighted=false;
boost::program_options::options_description desc("Allowed options");
desc.add_options()
("help", boost::program_options::bool_switch(&print_help), "produce help message")
("verbose,v", boost::program_options::bool_switch(&verbose), "produce lots of output")
("weighted,w", boost::program_options::bool_switch(&weighted), "Use weighted points instead of unweighted")
("num-points,n", boost::program_options::value<int>(&n), "Number of points to use.")
("degree,d", boost::program_options::value<int>(&d), "The degree of the motions to use.")
("file,f", boost::program_options::value<std::string>(&file), "Read points from a file.");
boost::program_options::variables_map vm;
boost::program_options::store(boost::program_options::command_line_parser(argc, argv).
options(desc).run(), vm);
boost::program_options::notify(vm);
if (print_help) {
std::cout << desc << "\n";
return EXIT_FAILURE;
}
if (weighted) {
typedef CGAL::Kinetic::Regular_triangulation_exact_simulation_traits_3 Traits;
typedef CGAL::Kinetic::SoQt_widget_3<Traits::Simulator> Qt_gui;
typedef CGAL::Kinetic::SoQt_moving_weighted_points_3<Traits, Qt_gui> Qt_mpt;
Traits tr;
Qt_gui::Handle qtsim= new Qt_gui(argc, argv, tr.simulator_handle());
Qt_mpt::Handle qtmpt= new Qt_mpt(tr, qtsim);
Traits::Simulator::Handle sim= tr.simulator_handle();
Traits::Active_points_3_table::Handle mpt= tr.active_points_3_table_handle();
typedef Traits::Kinetic_kernel::Motion_function Fn;
if (file.empty()) {
CGAL::Random rand;
for (int i=0; i< n; ++i) {
std::vector<double> coefsx, coefsy, coefsz, coefsw;
for (int j=0; j< d; ++j) {
coefsx.push_back((rand.get_double()*10-5)/(j+1));
coefsy.push_back((rand.get_double()*10-5)/(j+1));
coefsz.push_back((rand.get_double()*10-5)/(j+1));
coefsw.push_back((rand.get_double())/(j+1));
}
Traits::Kinetic_kernel::Weighted_point_3 mp(Traits::Kinetic_kernel::Point_3(Fn(coefsx.begin(), coefsx.end()),
Fn(coefsy.begin(), coefsy.end()),
Fn(coefsz.begin(), coefsz.end())),
Fn(coefsw.begin(), coefsw.end()));
tr.active_points_3_table_handle()->insert(mp);
}
}
else {
std::ifstream in(file.c_str());
if (!in) {
std::cerr << "Error opening input file: " << file << std::endl;
return EXIT_FAILURE;
}
char buf[1000];
int nread=0;
while (true ) {
in.getline(buf, 1000);
if (!in) break;
std::istringstream il(buf);
Traits::Kinetic_kernel::Weighted_point_3 p;
il >> p;
tr.active_points_3_table_handle()->insert(p);
++nread;
}
std::cout << nread << " points read.\n";
}
return qtsim->begin_event_loop();
}
else {
typedef CGAL::Kinetic::Exact_simulation_traits_3 Traits;
typedef CGAL::Kinetic::SoQt_widget_3<Traits::Simulator> Qt_gui;
typedef CGAL::Kinetic::SoQt_moving_points_3<Traits, Qt_gui> Qt_mpt;
Traits tr;
Qt_gui::Handle qtsim= new Qt_gui(argc, argv, tr.simulator_handle());
Qt_mpt::Handle qtmpt= new Qt_mpt(tr, qtsim);
typedef Traits::Kinetic_kernel::Motion_function Fn;
Traits::Simulator::Handle sim= tr.simulator_handle();
Traits::Active_points_3_table::Handle mpt= tr.active_points_3_table_handle();
CGAL::Kinetic::Enclosing_box_3<Traits> eb(tr,-10,10,-10,10,-10,10);
if (file.empty()) {
CGAL::Random rand;
for (int i=0; i< n; ++i) {
std::vector<double> coefsx, coefsy, coefsz;
for (int j=0; j< d; ++j) {
coefsx.push_back((rand.get_double()*10-5)/(j+1));
coefsy.push_back((rand.get_double()*10-5)/(j+1));
coefsz.push_back((rand.get_double()*10-5)/(j+1));
}
Traits::Kinetic_kernel::Point_3 mp(Fn(coefsx.begin(), coefsx.end()),
Fn(coefsy.begin(), coefsy.end()),
Fn(coefsz.begin(), coefsz.end()));
tr.active_points_3_table_handle()->insert(mp);
}
}
else {
std::ifstream in(file.c_str());
if (!in) {
std::cerr << "Error opening input file: " << file << std::endl;
return EXIT_FAILURE;
}
char buf[1000];
int nread=0;
while (true ) {
in.getline(buf, 1000);
if (!in) break;
std::istringstream il(buf);
Traits::Kinetic_kernel::Point_3 p;
il >> p;
tr.active_points_3_table_handle()->insert(p);
++nread;
}
std::cout << nread << " points read.\n";
}
return qtsim->begin_event_loop();
}
/*#else
std::cout << "An install of Inventor and SoQt are required for this demo. "
"Please make sure they are installed and then compile "
"using the makefile 'makefile.soqt'.\n"
"They can be found at http://www.coin3d.org or as an rpm from "
"your linux distribution (they are part of Fedora extras, for example).\n";
return EXIT_FAILURE;
#endif*/
}

View File

@ -7,88 +7,108 @@
# Choose the right include file from the <cgalroot>/make directory.
# CGAL_MAKEFILE = ENTER_YOUR_INCLUDE_MAKEFILE_HERE
# CGAL_MAKEFILE = /u/drussel/other_src/CGAL-3.2-I-316/make/makefile_i686_Linux-2.6_g++32-3.2.3
include $(CGAL_MAKEFILE)
#---------------------------------------------------------------------#
# compiler flags
#---------------------------------------------------------------------#
CXXFLAGS = \
CXXFLAGS = -g \
-I$(CGAL_INCL_DIR) \
$(CGAL_CXXFLAGS) \
-Iinclude \
-DCGAL_USE_SOQT\
-Iinclude\
$(LONG_NAME_PROBLEM_CXXFLAGS)
#---------------------------------------------------------------------#
# linker flags
#---------------------------------------------------------------------#
LOCAL_LIBS= ../../src/libCGAL.a ../../src/CGALQt/libCGALQt.a
LIBPATH = \
$(CGAL_LIBPATH)
3D_LDFLAGS = SoQt_examiner_viewer$(OBJ_EXT) -lCoin -lSoQt
3D_DEPS = SoQt_examiner_viewer.moc SoQt_examiner_viewer$(OBJ_EXT)
LDFLAGS = \
LDFLAGS = \
$(LONG_NAME_PROBLEM_LDFLAGS) \
$(CGAL_QT_LDFLAGS) $(BOOSTPROGRAMOPTIONS_LDFLAGS)
$(CGAL_LDFLAGS)
QT_LDFLAGS = \
$(LONG_NAME_PROBLEM_LDFLAGS) \
$(CGAL_QT_LDFLAGS)
CXXFLAGS_3D= $(CXXFLAGS) -DCGAL_USE_SOQT
LDFLAGS_3D= $(QT_LDFLAGS) -lCoin -lSoQt
DEPS_3D = SoQt_examiner_viewer.moc SoQt_examiner_viewer$(OBJ_EXT)
#---------------------------------------------------------------------#
# target entries
#---------------------------------------------------------------------#
all: \
2d_gui$(EXE_EXT) \
3d_gui$(EXE_EXT) \
2d: \
Delaunay_triangulation_2$(EXE_EXT) \
Delaunay_triangulation_3$(EXE_EXT) \
gui_2$(EXE_EXT) \
generate_data$(EXE_EXT) \
Delaunay_triangulation_stable_subset_2$(EXE_EXT) \
regular_triangulation_3$(EXE_EXT)
Delaunay_triangulation_stable_subset_2$(EXE_EXT)
@echo Do install Coin and do "make 3d" to make the 3d demos
2d_gui$(EXE_EXT): 2d_gui$(OBJ_EXT)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)2d_gui 2d_gui$(OBJ_EXT) $(LDFLAGS)
all: 3d 2d
3d:\
Delaunay_triangulation_3$(EXE_EXT) \
regular_triangulation_3$(EXE_EXT)\
gui_3$(EXE_EXT)
3d_gui$(EXE_EXT): 3d_gui$(OBJ_EXT) $(3D_DEPS)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)3d_gui 3d_gui$(OBJ_EXT) $(3D_LDFLAGS) $(LDFLAGS)
generate_data$(EXE_EXT): generate_data$(OBJ_EXT)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)generate_data generate_data$(OBJ_EXT) $(BOOSTPROGRAMOPTIONS_LDFLAGS) $(LDFLAGS)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)generate_data generate_data$(OBJ_EXT) $(LDFLAGS)
Delaunay_triangulation_2$(EXE_EXT): Delaunay_triangulation_2$(OBJ_EXT)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)Delaunay_triangulation_2 Delaunay_triangulation_2$(OBJ_EXT) $(LDFLAGS) $(BOOSTPROGRAMOPTIONS_LDFLAGS)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)Delaunay_triangulation_2 Delaunay_triangulation_2$(OBJ_EXT) $(QT_LDFLAGS)
Delaunay_triangulation_3$(EXE_EXT): Delaunay_triangulation_3$(OBJ_EXT) $(3D_DEPS)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)Delaunay_triangulation_3 Delaunay_triangulation_3$(OBJ_EXT) $(3D_LDFLAGS) $(LDFLAGS) $(BOOSTPROGRAMOPTIONS_LDFLAGS)
Delaunay_triangulation_stable_subset_2$(EXE_EXT): Delaunay_triangulation_stable_subset_2$(OBJ_EXT)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)Delaunay_triangulation_stable_subset_2 Delaunay_triangulation_stable_subset_2$(OBJ_EXT) $(LDFLAGS) $(BOOSTPROGRAMOPTIONS_LDFLAGS)
regular_triangulation_3$(EXE_EXT): regular_triangulation_3$(OBJ_EXT) $(3D_DEPS)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)regular_triangulation_3 regular_triangulation_3$(OBJ_EXT) $(3D_LDFLAGS) $(LDFLAGS)
Delaunay_triangulation_stable_subset_2$(EXE_EXT): Delaunay_triangulation_stable_subset_2$(OBJ_EXT)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)Delaunay_triangulation_stable_subset_2 Delaunay_triangulation_stable_subset_2$(OBJ_EXT) $(QT_LDFLAGS)
gui_2$(EXE_EXT): gui_2$(OBJ_EXT)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)gui_2 gui_2$(OBJ_EXT) $(QT_LDFLAGS)
Delaunay_triangulation_3$(EXE_EXT): Delaunay_triangulation_3$(OBJ_EXT) $(DEPS_3D)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)Delaunay_triangulation_3 Delaunay_triangulation_3$(OBJ_EXT) SoQt_examiner_viewer$(OBJ_EXT) $(LDFLAGS_3D)
regular_triangulation_3$(EXE_EXT): regular_triangulation_3$(OBJ_EXT) $(DEPS_3D)
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)regular_triangulation_3 regular_triangulation_3$(OBJ_EXT) SoQt_examiner_viewer$(OBJ_EXT) $(LDFLAGS_3D)
gui_3$(EXE_EXT): gui_3$(OBJ_EXT) $(DEPS_3D)
$(CGAL_CXX) $(CXXFLAGS_3D) $(OBJ_OPT) $<
$(CGAL_CXX) $(LIBPATH) $(EXE_OPT)gui_3 gui_3$(OBJ_EXT) SoQt_examiner_viewer$(OBJ_EXT) $(LDFLAGS_3D)
SoQt_examiner_viewer.moc: include/SoQt_examiner_viewer.h
$(QT_MOC) include/SoQt_examiner_viewer.h > SoQt_examiner_viewer.moc
clean: \
2d_gui.clean \
3d_gui.clean \
gui_2.clean \
gui_3.clean \
generate_data.clean \
Delaunay_triangulation_2.clean \
Delaunay_triangulation_3.clean \
Delaunay_triangulation_stable_subset_2.clean \
regular_triangulation_3.clean \
rm -f SoQt_examiner_viewer.moc
SoQt_examiner_viewer.clean\
regular_triangulation_3.clean
#---------------------------------------------------------------------#
# suffix rules
#---------------------------------------------------------------------#
.C$(OBJ_EXT):
C$(OBJ_EXT):
$(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) $<

View File

@ -1,17 +1,17 @@
#include <CGAL/Kinetic/Regular_triangulation_3.h>
#include <CGAL/Kinetic/Regular_triangulation_exact_simulation_traits_3.h>
#ifdef CGAL_USE_SOQT
//#ifdef CGAL_USE_SOQT
#include "include/SoQt_moving_points_3.h"
#include "include/SoQt_triangulation_3.h"
#include "include/SoQt_widget_3.h"
#include <CGAL/Kinetic/Insert_event.h>
#endif
//#endif
int main(int argc, char *argv[])
{
#ifdef CGAL_USE_SOQT
//#ifdef CGAL_USE_SOQT
typedef CGAL::Kinetic::Regular_triangulation_exact_simulation_traits_3 Traits;
typedef CGAL::Kinetic::SoQt_widget_3<Traits::Simulator> Qt_gui;
typedef CGAL::Kinetic::SoQt_moving_points_3<Traits, Qt_gui> Qt_mpt;
@ -64,12 +64,12 @@ int main(int argc, char *argv[])
kdel->set_has_certificates(true);
return qtsim->begin_event_loop();
#else
/*#else
std::cout << "An install of Inventor and SoQt are required for this demo. "
"Please make sure they are installed and then compile "
"using the makefile 'makefile.soqt'.\n"
"They can be found at http://www.coin3d.org or as an rpm from "
"your linux distribution (they are part of Fedora extras, for example).\n";
return EXIT_FAILURE;
#endif
#endif*/
};