Commit af5763f3 authored by Pierre Kraemer's avatar Pierre Kraemer

Initial commit..

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

SET(EXECUTABLE_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin)
SET (COMMON_LIBS ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${GLEW_LIBRARY} ${DEVIL_LIBRARIES} ${ZLIB_LIBRARIES} ${LIBXML2_LIBRARIES} gzstream AntTweakBar openctm assimp)
IF(WIN32)
add_subdirectory(Examples/Release)
add_subdirectory(Tuto)
ELSE(WIN32)
add_subdirectory(Examples/Release)
add_subdirectory(Examples/Debug)
add_subdirectory(Examples/Tests)
add_subdirectory(Examples/SocialAgents)
add_subdirectory(Tuto)
ENDIF(WIN32)
cmake_minimum_required(VERSION 2.6)
project(examplesD)
SET(CMAKE_BUILD_TYPE Debug)
# define includes path
include_directories(
/usr/include/libxml2/
${CGoGN_ROOT_DIR}/include
${CGoGN_ROOT_DIR}/ThirdParty/Numerical
${CGoGN_ROOT_DIR}/ThirdParty/Numerical/UFconfig
${CGoGN_ROOT_DIR}/ThirdParty/gzstream
${CGoGN_ROOT_DIR}/ThirdParty/Zinri
${CGoGN_ROOT_DIR}/ThirdParty/AntTweakBar/include
${CGoGN_ROOT_DIR}/ThirdParty/OpenCTM
${CGoGN_ROOT_DIR}/ThirdParty/Assimp/include
)
# define libs path
link_directories(
${CGoGN_ROOT_DIR}/lib/Debug
${CGoGN_ROOT_DIR}/lib/Release
)
#define exec to compile
add_executable( miniTestD ../miniTest.cpp)
target_link_libraries( miniTestD
containerD topologyD utilsD algoD numerical lapack blas f2c ${COMMON_LIBS} )
add_executable( firstD ../first.cpp)
target_link_libraries( firstD
containerD topologyD utilsD algoD ${COMMON_LIBS} )
add_executable( ViewerD ../Viewer.cpp)
target_link_libraries( ViewerD
containerD topologyD utilsD algoD ${COMMON_LIBS} )
add_executable( FilterExamplesD ../FilterExamples.cpp)
target_link_libraries( FilterExamplesD
containerD topologyD utilsD algoD ${COMMON_LIBS} )
add_executable( pmViewD ../pmView.cpp)
target_link_libraries( pmViewD
containerD topologyD utilsD algoD numerical lapack blas f2c ${COMMON_LIBS} )
add_executable( linearTestD ../linearTest.cpp)
target_link_libraries( linearTestD
containerD topologyD utilsD algoD numerical lapack blas f2c ${COMMON_LIBS} )
add_executable( simpleGMap2D ../simpleGMap2.cpp)
target_link_libraries( simpleGMap2D
containerD topologyD utilsD algoD ${COMMON_LIBS} Zinri)
#add_executable( SimpleEMap3D ../simpleEMap3.cpp)
#target_link_libraries( SimpleEMap3D
# containerD topologyD utilsD algoD ${COMMON_LIBS} )
add_executable( ihmViewD ../ihmView.cpp)
target_link_libraries( ihmViewD
containerD topologyD utilsD algoD ${COMMON_LIBS} Zinri)
add_executable( triangulationD ../triangulation.cpp)
target_link_libraries( triangulationD
containerD topologyD utilsD algoD ${COMMON_LIBS} )
add_executable( decimationVolumiqueD ../decimationVolumique.cpp)
target_link_libraries( decimationVolumiqueD
containerD topologyD utilsD algoD numerical lapack blas f2c ${COMMON_LIBS} )
add_executable( ter_meshesD ../ter_meshes.cpp)
target_link_libraries( ter_meshesD
containerD topologyD utilsD algoD ${COMMON_LIBS} )
This diff is collapsed.
/*******************************************************************************
* CGoGN: Combinatorial and Geometric modeling with Generic N-dimensional Maps *
* version 0.1 *
* Copyright (C) 2009, IGG Team, LSIIT, University of Strasbourg *
* *
* This library is free software; you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as published by the *
* Free Software Foundation; either version 2.1 of the License, or (at your *
* option) any later version. *
* *
* This library is distributed in the hope that it will be useful, but WITHOUT *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
* for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this library; if not, write to the Free Software Foundation, *
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
* *
* Web site: https://iggservis.u-strasbg.fr/CGoGN/ *
* Contact information: cgogn@unistra.fr *
* *
*******************************************************************************/
#include <iostream>
#include "Utils/os_spec.h"
#include "Utils/glutwin_atb.h"
#include "Topology/map/map2.h"
#include "Geometry/vector_gen.h"
#include "Geometry/matrix.h"
#include "Algo/Import/import.h"
#include "Algo/Render/map_glRender.h"
#include "Algo/Render/vbo_MapRender.h"
#include "Algo/Geometry/boundingbox.h"
#include "Topology/generic/ecell.h"
//#include "Algo/Geometry/curvature.h"
#include "Algo/Geometry/normal.h"
#include "Algo/Filters2D/filters2D.h"
using namespace CGoGN ;
struct PFP {
// definition de la carte
typedef Map2 MAP;
// definition du type de reel utilise
typedef float REAL;
typedef Geom::Vector<3,REAL> VEC3;
typedef Geom::Vector<6,REAL> VEC6;
typedef Geom::Matrix<3,3,REAL> MATRIX33;
typedef Geom::Matrix<4,4,REAL> MATRIX44;
typedef Geom::Matrix<3,6,REAL> MATRIX36;
typedef AttributeHandler<VEC3> TVEC3;
typedef AttributeHandler<REAL> TREAL;
typedef AttributeHandler<MATRIX33> TFRAME;
typedef AttributeHandler<MATRIX36> TRGBFUNCS;
};
INIT_STATICS_MAP() ;
typedef PFP::MAP MAP ;
MAP myMap ;
SelectorTrue allDarts;
class MyGlutWin: public Utils::GlutWin_ATB
{
public:
TwBar* viewer_bar ;
enum renderMode { FLAT, GOURAUD, PHONG, NORMAL } ;
Geom::Vec4f colDif ;
Geom::Vec4f colSpec ;
Geom::Vec4f colClear ;
Geom::Vec4f colNormal ;
float shininess ;
Geom::Vec3f gPosObj ;
float gWidthObj ;
float normalBaseSize ;
float normalScaleFactor ;
float faceShrinkage ;
int renderStyle ;
bool renderObject ;
bool renderLines ;
bool renderNormals ;
PFP::TVEC3 position ;
PFP::TVEC3 position2 ;
PFP::TVEC3 originalPosition ;
PFP::TVEC3 normal ;
PFP::TREAL faceArea ;
PFP::TVEC3 faceNormal ;
PFP::TVEC3 faceCentroid ;
Algo::Render::VBO::MapRender_VBO<PFP>* vbo_render ;
GLuint dl_norm ;
MyGlutWin(int* argc, char **argv, int winX, int winY) ;
void init() ;
void initGUI() ;
void myRedraw() ;
// void myKeyboard(unsigned char keycode, int x, int y) ;
void updateVBOdata(int upType) ;
void initDLNormals() ;
void render(int renderMode) ;
void loadOriginalPositions()
{
myMap.copyAttribute(position, originalPosition) ;
updateVBOdata(Algo::Render::VBO::POSITIONS | Algo::Render::VBO