Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
CGoGN
CGoGN
Commits
372fb022
Commit
372fb022
authored
Feb 01, 2011
by
Pierre Kraemer
Browse files
SocialAgents -> simplif faces
parent
bc3fdd63
Changes
1
Hide whitespace changes
Inline
Side-by-side
Apps/Examples/SocialAgents/src/env_map.cpp
View file @
372fb022
...
...
@@ -341,7 +341,7 @@ void EnvMap::addNeighborAgents(PFP::AGENTS agentsFrom,PFP::AGENTS agentsTo)
void
EnvMap
::
updateMap
()
{
//
simplifyFaces() ;
simplifyFaces
()
;
subdivideFaces
()
;
map
.
setCurrentLevel
(
map
.
getMaxLevel
())
;
}
...
...
@@ -354,7 +354,7 @@ void EnvMap::subdivideFaces()
if
(
!
m
.
isMarked
(
d
))
{
m
.
mark
(
d
)
;
if
(
!
closeMark
.
isMarked
(
d
)
&&
agentvect
[
d
].
size
()
>
3
)
if
(
!
closeMark
.
isMarked
(
d
)
&&
agentvect
[
d
].
size
()
>
6
)
{
if
(
!
map
.
faceIsSubdivided
(
d
))
{
...
...
@@ -434,18 +434,36 @@ void EnvMap::simplifyFaces()
if
(
!
closeMark
.
isMarked
(
d
)
&&
fLevel
>
0
)
{
Dart
old
=
map
.
faceOldestDart
(
d
)
;
map
.
setCurrentLevel
(
cur
-
1
)
;
map
.
setCurrentLevel
(
fLevel
-
1
)
;
if
(
map
.
faceIsSubdividedOnce
(
old
))
{
unsigned
int
nbAgents
=
0
;
Dart
fit
=
old
;
do
{
map
.
setCurrentLevel
(
cur
)
;
nbAgents
+=
agentvect
[
fit
].
size
()
;
map
.
setCurrentLevel
(
cur
-
1
)
;
fit
=
map
.
phi1
(
fit
)
;
}
while
(
fit
!=
old
)
;
if
(
nbAgents
<
6
)
{
std
::
vector
<
Agent
*>
agents
;
fit
=
old
;
do
{
agents
.
insert
(
agents
.
end
(),
agentvect
[
fit
].
begin
(),
agentvect
[
fit
].
end
())
;
fit
=
map
.
phi1
(
fit
)
;
}
while
(
fit
!=
old
)
;
Algo
::
IHM
::
coarsenFace
<
PFP
>
(
map
,
old
,
position
)
;
agentvect
[
old
].
clear
()
;
for
(
PFP
::
AGENTS
::
iterator
it
=
agents
.
begin
();
it
!=
agents
.
end
();
++
it
)
{
resetAgentInFace
(
*
it
)
;
agentvect
[(
*
it
)
->
part
->
d
].
push_back
(
*
it
)
;
}
}
}
map
.
setCurrentLevel
(
cur
)
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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