Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CGoGN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
KennethVanhoey
CGoGN
Commits
e4d76eeb
Commit
e4d76eeb
authored
Jan 16, 2012
by
Sylvain Thery
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of cgogn:CGoGN
parents
7a24e258
f94a83e2
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
99 additions
and
38 deletions
+99
-38
CMakeLists.txt
CMakeLists.txt
+14
-1
include/Algo/Render/GL2/topo3Render.hpp
include/Algo/Render/GL2/topo3Render.hpp
+12
-7
include/Algo/Render/GL2/topoRender.hpp
include/Algo/Render/GL2/topoRender.hpp
+19
-16
scripts/duplicate_apps.sh
scripts/duplicate_apps.sh
+29
-3
scripts/skeleton_apps.sh
scripts/skeleton_apps.sh
+21
-7
src/Topology/gmap/embeddedGMap3.cpp
src/Topology/gmap/embeddedGMap3.cpp
+4
-4
No files found.
CMakeLists.txt
View file @
e4d76eeb
...
...
@@ -14,7 +14,7 @@ SET ( BUILD_SHARED_LIBS OFF CACHE BOOL "if used all library are build as shared
SET
(
WITH_ASSIMP ON CACHE BOOL
"build CGoGN with Assimp "
)
SET
(
WITH_ZINRI ON CACHE BOOL
"build CGoGN with Zinri lib "
)
SET
(
WITH_QT ON CACHE BOOL
"build CGoGN with Qt lib "
)
#SET ( WITH_NUMERICAL OFF
CACHE BOOL "build CGoGN with Numerical libs support ")
SET
(
WITH_NUMERICAL ON
CACHE BOOL
"build CGoGN with Numerical libs support "
)
IF
(
WIN32
)
set
(
CMAKE_PREFIX_PATH
${
CGoGN_ROOT_DIR
}
/windows_dependencies CACHE STRING
"path to dependencies"
)
...
...
@@ -59,12 +59,14 @@ IF (WITH_ASSIMP)
add_definitions
(
-DWITH_ASSIMP
)
SET
(
CGoGN_EXT_INCLUDES
${
CGoGN_EXT_INCLUDES
}
${
CGoGN_ROOT_DIR
}
/ThirdParty/Assimp/include
)
SET
(
CGoGN_EXT_LIBS
${
CGoGN_EXT_LIBS
}
assimp
)
INSTALL
(
DIRECTORY ThirdParty/Assimp/include DESTINATION .
)
ENDIF
(
WITH_ASSIMP
)
IF
(
WITH_ZINRI
)
add_definitions
(
-DWITH_ZINRI
)
SET
(
CGoGN_EXT_INCLUDES
${
CGoGN_EXT_INCLUDES
}
${
CGoGN_ROOT_DIR
}
/ThirdParty/Zinri
)
SET
(
CGoGN_EXT_LIBS
${
CGoGN_EXT_LIBS
}
Zinri
)
INSTALL
(
DIRECTORY ThirdParty/Zinri/ DESTINATION include FILES_MATCHING PATTERN
"*.h"
)
ENDIF
(
WITH_ZINRI
)
IF
(
WITH_QT
)
...
...
@@ -83,6 +85,12 @@ ENDIF (WITH_QT)
# SET (CGoGN_NUMERICAL_LIBS f2c blas numerical lapack)
#ENDIF (WITH_NUMERICAL)
IF
(
WITH_NUMERICAL
)
INSTALL
(
FILES ThirdParty/Numerical/UFconfig/UFconfig.h DESTINATION include
)
INSTALL
(
DIRECTORY ThirdParty/Numerical/ DESTINATION include FILES_MATCHING PATTERN
"*.h"
)
INSTALL
(
DIRECTORY ThirdParty/Numerical/ DESTINATION include FILES_MATCHING PATTERN
"*.hpp"
)
ENDIF
(
WITH_NUMERICAL
)
# qq definition specifiques pour mac
IF
(
APPLE
)
# attention a changer pour chercher la bonne version automatiquement
...
...
@@ -105,3 +113,8 @@ ELSE(WIN32)
add_subdirectory
(
${
CGoGN_ROOT_DIR
}
/Apps Apps
)
ENDIF
(
WIN32
)
INSTALL
(
DIRECTORY
${
CGoGN_ROOT_DIR
}
/include
${
CGoGN_ROOT_DIR
}
/lib
${
CGoGN_ROOT_DIR
}
/bin DESTINATION .
)
INSTALL
(
DIRECTORY ThirdParty/glm/glm DESTINATION include
)
INSTALL
(
DIRECTORY cmake_modules DESTINATION .
)
INSTALL
(
FILES apps_cmake.txt DESTINATION .
)
include/Algo/Render/GL2/topo3Render.hpp
View file @
e4d76eeb
...
...
@@ -93,9 +93,6 @@ void Topo3Render::updateDataMap3(typename PFP::MAP& mapx, const typename PFP::TV
{
if
(
good
(
d
))
{
m_attIndex
[
d
]
=
posDBI
;
posDBI
+=
2
;
CellMarkerStore
markVert
(
map
,
VERTEX
);
//marker for vertices
VEC3
center
(
0
,
0
,
0
);
unsigned
int
nbv
=
0
;
...
...
@@ -196,6 +193,9 @@ void Topo3Render::updateDataMap3(typename PFP::MAP& mapx, const typename PFP::TV
VEC3
P
=
vecPos
[
i
]
*
ke
+
vecPos
[
i
+
1
]
*
oke
;
VEC3
Q
=
vecPos
[
i
+
1
]
*
ke
+
vecPos
[
i
]
*
oke
;
m_attIndex
[
d
]
=
posDBI
;
posDBI
+=
2
;
*
positionDartBuf
++
=
P
;
*
positionDartBuf
++
=
Q
;
*
colorDartBuf
++
=
VEC3
(
1.
,
1.
,
1.0
);
...
...
@@ -311,7 +311,7 @@ void Topo3Render::setDartsIdColor(typename PFP::MAP& map, const FunctorSelect& g
else
{
CGoGNerr
<<
"Error buffer too small for color picking (change the good parameter ?)"
<<
CGoGNendl
;
d
=
map
.
end
()
;
break
;
}
}
}
...
...
@@ -364,9 +364,6 @@ void Topo3Render::updateDataGMap3(typename PFP::MAP& mapx, const typename PFP::T
{
if
(
good
(
d
))
{
m_attIndex
[
d
]
=
posDBI
;
posDBI
+=
2
;
CellMarkerStore
markVert
(
map
,
VERTEX
);
//marker for vertices
VEC3
center
(
0
,
0
,
0
);
unsigned
int
nbv
=
0
;
...
...
@@ -477,6 +474,10 @@ void Topo3Render::updateDataGMap3(typename PFP::MAP& mapx, const typename PFP::T
*
colorDartBuf
++
=
VEC3
(
1.
,
1.
,
1.
);
*
colorDartBuf
++
=
VEC3
(
1.
,
1.
,
1.
);
m_attIndex
[
d
]
=
posDBI
;
posDBI
+=
2
;
fv1
[
d
]
=
P
*
0.9
f
+
PP
*
0.1
f
;
fv2x
[
d
]
=
P
*
0.52
f
+
PP
*
0.48
f
;
fv2
[
d
]
=
P
*
0.48
f
+
PP
*
0.52
f
;
...
...
@@ -484,6 +485,10 @@ void Topo3Render::updateDataGMap3(typename PFP::MAP& mapx, const typename PFP::T
fv1
[
dx
]
=
Q
*
0.9
f
+
QQ
*
0.1
f
;
fv2
[
dx
]
=
Q
*
0.52
f
+
QQ
*
0.48
f
;
fv2x
[
dx
]
=
Q
*
0.48
f
+
QQ
*
0.52
f
;
m_attIndex
[
dx
]
=
posDBI
;
posDBI
+=
2
;
d
=
map
.
phi1
(
d
);
}
...
...
include/Algo/Render/GL2/topoRender.hpp
View file @
e4d76eeb
...
...
@@ -75,10 +75,7 @@ void TopoRender::updateDataMap(typename PFP::MAP& mapx, const typename PFP::TVEC
for
(
Dart
d
=
map
.
begin
();
d
!=
map
.
end
();
map
.
next
(
d
))
{
if
(
good
(
d
))
{
vecDarts
.
push_back
(
d
);
m_attIndex
[
d
]
=
(
vecDarts
.
size
()
-
1
)
*
2
;
}
}
m_nbDarts
=
vecDarts
.
size
();
...
...
@@ -102,6 +99,8 @@ void TopoRender::updateDataMap(typename PFP::MAP& mapx, const typename PFP::TVEC
std
::
vector
<
VEC3
>
vecPos
;
vecPos
.
reserve
(
16
);
unsigned
int
indexDC
=
0
;
DartMarker
mf
(
map
);
for
(
std
::
vector
<
Dart
>::
iterator
id
=
vecDarts
.
begin
();
id
!=
vecDarts
.
end
();
id
++
)
{
...
...
@@ -137,11 +136,12 @@ void TopoRender::updateDataMap(typename PFP::MAP& mapx, const typename PFP::TVEC
VEC3
P
=
vecPos
[
i
]
*
ke
+
vecPos
[
i
+
1
]
*
k
;
VEC3
Q
=
vecPos
[
i
+
1
]
*
ke
+
vecPos
[
i
]
*
k
;
m_attIndex
[
d
]
=
indexDC
;
indexDC
+=
2
;
*
positionDartBuf
++
=
P
;
*
colorDartBuf
++
=
VEC3
(
1.
,
0.
,
0.
);
*
positionDartBuf
++
=
Q
;
*
colorDartBuf
++
=
VEC3
(
1.
,
1.
,
1.
);
*
colorDartBuf
++
=
VEC3
(
1.
,
1.
,
1.
);
VEC3
f
=
P
*
0.5
f
+
Q
*
0.5
f
;
fv2
[
d
]
=
f
;
f
=
P
*
0.1
f
+
Q
*
0.9
f
;
...
...
@@ -220,10 +220,7 @@ void TopoRender::updateDataGMap(typename PFP::MAP& mapx, const typename PFP::TVE
for
(
Dart
d
=
map
.
begin
();
d
!=
map
.
end
();
map
.
next
(
d
))
{
if
(
good
(
d
))
{
vecDarts
.
push_back
(
d
);
m_attIndex
[
d
]
=
(
vecDarts
.
size
()
-
1
)
*
2
;
}
}
m_nbDarts
=
vecDarts
.
size
();
...
...
@@ -248,6 +245,8 @@ void TopoRender::updateDataGMap(typename PFP::MAP& mapx, const typename PFP::TVE
std
::
vector
<
VEC3
>
vecPos
;
vecPos
.
reserve
(
16
);
unsigned
int
indexDC
=
0
;
DartMarker
mf
(
map
);
for
(
std
::
vector
<
Dart
>::
iterator
id
=
vecDarts
.
begin
();
id
!=
vecDarts
.
end
();
id
++
)
{
...
...
@@ -285,6 +284,8 @@ void TopoRender::updateDataGMap(typename PFP::MAP& mapx, const typename PFP::TVE
VEC3
PP
=
REAL
(
0.52
)
*
P
+
REAL
(
0.48
)
*
Q
;
VEC3
QQ
=
REAL
(
0.52
)
*
Q
+
REAL
(
0.48
)
*
P
;
m_attIndex
[
d
]
=
indexDC
;
indexDC
+=
2
;
*
positionDartBuf
++
=
P
;
*
colorDartBuf
++
=
VEC3
(
1.
,
1.
,
1.
);
*
positionDartBuf
++
=
PP
;
...
...
@@ -304,6 +305,9 @@ void TopoRender::updateDataGMap(typename PFP::MAP& mapx, const typename PFP::TVE
fv2
[
dd
]
=
f
;
f
=
Q
*
0.9
f
+
QQ
*
0.1
f
;
fv1
[
dd
]
=
f
;
m_attIndex
[
dd
]
=
indexDC
;
indexDC
+=
2
;
d
=
map
.
phi1
(
d
);
}
...
...
@@ -367,9 +371,9 @@ void TopoRender::setDartsIdColor(typename PFP::MAP& map, const FunctorSelect& go
for
(
Dart
d
=
map
.
begin
();
d
!=
map
.
end
();
map
.
next
(
d
))
{
if
(
nb
<
m_nbDarts
)
if
(
good
(
d
)
)
{
if
(
good
(
d
)
)
if
(
nb
<
m_nbDarts
)
{
float
r
,
g
,
b
;
dartToCol
(
d
,
r
,
g
,
b
);
...
...
@@ -380,14 +384,13 @@ void TopoRender::setDartsIdColor(typename PFP::MAP& map, const FunctorSelect& go
*
local
++
=
r
;
*
local
++
=
g
;
*
local
++
=
b
;
nb
++
;
}
}
else
{
CGoGNerr
<<
"Error buffer too small for color picking (change the good parameter ?)"
<<
CGoGNendl
;
d
=
map
.
end
();
else
{
CGoGNerr
<<
"Error buffer too small for color picking (change the good parameter ?)"
<<
CGoGNendl
;
break
;
}
}
}
glUnmapBuffer
(
GL_ARRAY_BUFFER
);
...
...
scripts/duplicate_apps.sh
View file @
e4d76eeb
...
...
@@ -32,6 +32,32 @@ cd ..
app1
=
`
basename
$1
`
app2
=
`
basename
$2
`
app1_maj
=
`
echo
$app1
|
awk
'
BEGIN { upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower = "abcdefghijklmnopqrstuvwxyz"
}
{
FIRSTCHAR = substr($1, 1, 1)
if (CHAR = index(lower, FIRSTCHAR))
$1 = substr(upper, CHAR, 1) substr($1, 2)
print $0
}'
`
app2_maj
=
`
echo
$app2
|
awk
'
BEGIN { upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower = "abcdefghijklmnopqrstuvwxyz"
}
{
FIRSTCHAR = substr($1, 1, 1)
if (CHAR = index(lower, FIRSTCHAR))
$1 = substr(upper, CHAR, 1) substr($1, 2)
print $0
}'
`
echo
remplace
$app1
by
$app2
in
CMakeLists.txt ...
find
.
-name
"CMakeLists.txt"
-exec
sed
-i
s/
$app1
/
$app2
/g
{}
\;
...
...
@@ -55,9 +81,9 @@ for f in $list_of_files; do
done
echo
Modify contents ...
find
.
-name
"*.cpp"
-o
-name
"*.hpp"
-o
-name
"*.h"
-exec
sed
-i
s/
${
app1
^
}
/
${
app2
^
}
/g
{}
\;
find
.
-name
"*.cpp"
-exec
sed
-i
s/
${
app1
^
}
/
${
app2
^
}
/g
{}
\;
find
.
-name
"*.h"
-exec
sed
-i
s/
${
app1
^
}
/
${
app2
^
}
/g
{}
\;
find
.
-name
"*.cpp"
-o
-name
"*.hpp"
-o
-name
"*.h"
-exec
sed
-i
s/
${
app1
_maj
}
/
${
app2_maj
}
/g
{}
\;
find
.
-name
"*.cpp"
-exec
sed
-i
s/
${
app1
_maj
}
/
${
app2_maj
}
/g
{}
\;
find
.
-name
"*.h"
-exec
sed
-i
s/
${
app1
_maj
}
/
${
app2_maj
}
/g
{}
\;
echo
finished
...
...
scripts/skeleton_apps.sh
View file @
e4d76eeb
...
...
@@ -14,6 +14,20 @@ echo "Warning do not forget to check the CGoGN_ROOT_DIR variable (ccmake)"
apps
=
$1
#create a string with first letter capitalize (${apps^} does not work on osX !
apps_maj
=
`
echo
$1
|
awk
'
BEGIN { upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower = "abcdefghijklmnopqrstuvwxyz"
}
{
FIRSTCHAR = substr($1, 1, 1)
if (CHAR = index(lower, FIRSTCHAR))
$1 = substr(upper, CHAR, 1) substr($1, 2)
print $0
}'
`
mkdir
$apps
cd
$apps
...
...
@@ -128,14 +142,14 @@ echo \#include \"Utils/Qt/qtui.h\" >> ${apps}.h
echo
""
>>
${
apps
}
.h
echo
"using namespace CGoGN;"
>>
${
apps
}
.h
echo
""
>>
${
apps
}
.h
echo
"class
$
{
apps
^
}
: public Utils::QT::SimpleQT"
>>
${
apps
}
.h
echo
"class
$
apps_maj
: public Utils::QT::SimpleQT"
>>
${
apps
}
.h
echo
"{"
>>
${
apps
}
.h
echo
" Q_OBJECT"
>>
${
apps
}
.h
echo
"public:"
>>
${
apps
}
.h
echo
""
>>
${
apps
}
.h
echo
"
$
{
apps
^
}
() {}"
>>
${
apps
}
.h
echo
"
$
apps_maj
() {}"
>>
${
apps
}
.h
echo
""
>>
${
apps
}
.h
echo
" ~
$
{
apps
^
}
() {}"
>>
${
apps
}
.h
echo
" ~
$
apps_maj
() {}"
>>
${
apps
}
.h
echo
""
>>
${
apps
}
.h
echo
" void cb_redraw();"
>>
${
apps
}
.h
echo
""
>>
${
apps
}
.h
...
...
@@ -188,10 +202,10 @@ echo "**************************************************************************
echo
""
>>
${
apps
}
.cpp
echo
\#
include
\"
${
apps
}
.h
\"
>>
${
apps
}
.cpp
echo
""
>>
${
apps
}
.cpp
echo
"void
$
{
apps
^
}
::cb_initGL()"
>>
${
apps
}
.cpp
echo
"void
$
apps_maj
::cb_initGL()"
>>
${
apps
}
.cpp
echo
"{}"
>>
${
apps
}
.cpp
echo
""
>>
${
apps
}
.cpp
echo
"void
$
{
apps
^
}
::cb_redraw()"
>>
${
apps
}
.cpp
echo
"void
$
apps_maj
::cb_redraw()"
>>
${
apps
}
.cpp
echo
"{}"
>>
${
apps
}
.cpp
echo
""
>>
${
apps
}
.cpp
...
...
@@ -199,8 +213,8 @@ echo "int main(int argc, char **argv)" >> ${apps}.cpp
echo
"{"
>>
${
apps
}
.cpp
echo
""
>>
${
apps
}
.cpp
echo
" QApplication app(argc, argv);"
>>
${
apps
}
.cpp
echo
"
$
{
apps
^
}
sqt;"
>>
${
apps
}
.cpp
echo
" "
sqt.setWindowTitle
\(\"
$
{
apps
^
}
\"\)\;
>>
${
apps
}
.cpp
echo
"
$
apps_maj
sqt;"
>>
${
apps
}
.cpp
echo
" "
sqt.setWindowTitle
\(\"
$
apps_maj
\"\)\;
>>
${
apps
}
.cpp
echo
""
>>
${
apps
}
.cpp
echo
" Utils::QT::uiDockInterface dock;"
>>
${
apps
}
.cpp
echo
" sqt.setDock(&dock);"
>>
${
apps
}
.cpp
...
...
src/Topology/gmap/embeddedGMap3.cpp
View file @
e4d76eeb
...
...
@@ -83,10 +83,10 @@ Dart EmbeddedGMap3::cutEdge(Dart d)
do
{
unsigned
int
vEmb
=
getEmbedding
(
VOLUME
,
f
)
;
setDartEmbedding
(
FAC
E
,
beta0
(
f
),
vEmb
);
setDartEmbedding
(
FAC
E
,
phi1
(
f
),
vEmb
);
setDartEmbedding
(
FAC
E
,
phi2
(
f
),
vEmb
);
setDartEmbedding
(
FAC
E
,
beta1
(
phi2
(
f
)),
vEmb
);
setDartEmbedding
(
VOLUM
E
,
beta0
(
f
),
vEmb
);
setDartEmbedding
(
VOLUM
E
,
phi1
(
f
),
vEmb
);
setDartEmbedding
(
VOLUM
E
,
phi2
(
f
),
vEmb
);
setDartEmbedding
(
VOLUM
E
,
beta1
(
phi2
(
f
)),
vEmb
);
f
=
alpha2
(
f
);
}
while
(
f
!=
d
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment