flokk-checkins Mailing List for FLokk of Kurious Kreatures (Page 2)
Status: Pre-Alpha
Brought to you by:
dshipton
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(28) |
Nov
(20) |
Dec
(164) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
From: Daniel E. S. <dsh...@us...> - 2004-12-20 18:06:55
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/simple</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1"><span id="added">Makefile.am</span></a></tt></td><td align="right" id="added">+13</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> </table> <pre class="comment"> changing to automake </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader" id="added"><big><b>Makefile.am</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N Makefile.am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Makefile.am 20 Dec 2004 18:06:44 -0000 1.1 @@ -0,0 +1,13 @@ </small></pre><pre class="diff" id="added">+DEFAULT_INCLUDES = -I$(top_srcdir)/src `gmtl-config --cxxflags` + +bin_PROGRAMS = testflokk + +testflokk_SOURCES = \ + main.cpp\ + RandomMoveProblem.cpp\ + TestFlokk.cpp + +testflokk_CXXFLAGS = -g -O3 + +testflokk_LDFLAGS = \ + -L$(top_builddir)/src -lflokk </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-20 17:56:20
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/simple</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">Random.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-3</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr class="alt"><td><tt><a href="#file2">RandomMoveProblem.cpp</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-3</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt><a href="#file3">RandomMoveProblem.h</a></tt></td><td align="right" id="added">+4</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr class="alt"><td><tt><a href="#file4">main.cpp</a></tt></td><td align="right" id="added">+5</td><td align="right" id="removed">-5</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td></td><td align="right" id="added">+15</td><td align="right" id="removed">-15</td><td></td></tr> </table> <small id="info">4 modified files</small><br /> <pre class="comment"> changing to a generic test bed </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>Random.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- Random.h 15 Dec 2004 01:54:39 -0000 1.2 +++ Random.h 20 Dec 2004 17:56:10 -0000 1.3 @@ -1,9 +1,9 @@ </small></pre><pre class="diff" id="removed">-#ifndef FISH_RANDOM_H -#define FISH_RANDOM_H </pre><pre class="diff" id="added">+#ifndef TEST_RANDOM_H +#define TEST_RANDOM_H </pre><pre class="diff" id="context"> #include <stdlib.h> </pre><pre class="diff" id="removed">-namespace <span id="removedchars">fish</span> </pre><pre class="diff" id="added">+namespace <span id="addedchars">test</span> </pre><pre class="diff" id="context"> { inline float randomf( float min, float max ) { </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>RandomMoveProblem.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- RandomMoveProblem.cpp 15 Dec 2004 01:54:39 -0000 1.3 +++ RandomMoveProblem.cpp 20 Dec 2004 17:56:10 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: RandomMoveProblem.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/15 01:54:39 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/20 17:56:10 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -36,7 +36,7 @@ </small></pre><pre class="diff" id="context"> #include <flokk/LocationalAgent.h> #include "Random.h" </pre><pre class="diff" id="removed">-namespace <span id="removedchars">fish</span> { </pre><pre class="diff" id="added">+namespace <span id="addedchars">test</span> { </pre><pre class="diff" id="context"> RandomMoveProblem::RandomMoveProblem( ) { mTimeLeft = randomf(3,6); </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>RandomMoveProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- RandomMoveProblem.h 15 Dec 2004 01:54:39 -0000 1.3 +++ RandomMoveProblem.h 20 Dec 2004 17:56:10 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: RandomMoveProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/15 01:54:39 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/20 17:56:10 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -35,10 +35,10 @@ </small></pre><pre class="diff" id="context"> #include <flokk/Problem.h> </pre><pre class="diff" id="removed">-namespace <span id="removedchars">fish</span> { </pre><pre class="diff" id="added">+namespace <span id="addedchars">test</span> { </pre><pre class="diff" id="context"> /** * RandomMoveProblem </pre><pre class="diff" id="removed">- * This problem specifies the default problem for a<span id="removedchars"> fish</span>, do a little </pre><pre class="diff" id="added">+ * This problem specifies the default problem for a<span id="addedchars">n agent</span>, do a little </pre><pre class="diff" id="context"> * bit of random movement from time to time **/ class RandomMoveProblem : public flokk::Problem </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>main.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></small></div> <pre class="diff"><small id="info">diff -u -r1.4 -r1.5 --- main.cpp 15 Dec 2004 01:54:39 -0000 1.4 +++ main.cpp 20 Dec 2004 17:56:10 -0000 1.5 @@ -1,20 +1,20 @@ </small></pre><pre class="diff" id="context"> #include <iostream> </pre><pre class="diff" id="removed">-#include "<span id="removedchars">Fish</span>Flokk.h" </pre><pre class="diff" id="added">+#include "<span id="addedchars">Test</span>Flokk.h" </pre><pre class="diff" id="context"> #include <flokk/LocationalAgent.h> #include <RandomMoveProblem.h> #include "Random.h" int main(void) { </pre><pre class="diff" id="removed">- fish::FishFlokk* mFlock = new fish::FishFlokk; </pre><pre class="diff" id="added">+ test::TestFlokk* mFlock = new test::TestFlokk; </pre><pre class="diff" id="context"> for ( unsigned int i=0; i < 7; i++ ) { flokk::LocationalAgent* mAgent = new flokk::LocationalAgent(); mAgent->setMaxSpeed( 10.0f ); </pre><pre class="diff" id="removed">- mAgent->setDesiredPosition( gmtl::Point3f(fish::randomf(0,5) , fish::randomf(3,6) , fish::randomf(-5,-1)) ); </pre><pre class="diff" id="added">+ mAgent->setDesiredPosition( gmtl::Point3f(test::randomf(0,5) , test::randomf(3,6) , test::randomf(-5,-1)) ); </pre><pre class="diff" id="context"> mAgent->setDesiredSpeed( 1.0f ); </pre><pre class="diff" id="removed">- fish::RandomMoveProblem* prob; - prob = new fish::RandomMoveProblem(); </pre><pre class="diff" id="added">+ test::RandomMoveProblem* prob; + prob = new test::RandomMoveProblem(); </pre><pre class="diff" id="context"> mAgent->setDefaultProblem( prob ); mFlock->addAgent(mAgent); </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-20 17:52:50
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/simple</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1"><span id="removed">Makefile</span></a></tt></td><td></td><td align="right" id="removed">-23</td><td nowrap="nowrap"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> removed</td></tr> </table> <pre class="comment"> Converting it to a automake system. </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname" id="removed"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader" id="removed"><big><b>Makefile</b></big> <small id="info">removed after <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -N Makefile --- Makefile 15 Dec 2004 01:44:20 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ </small></pre><pre class="diff" id="removed">-CC = g++ -LIBS = -L ../../build.linux.fc1/src/.libs -lflokk -CFLAGS = -g -Wall -Wno-non-virtual-dtor -I . -I ../../src -I/home/users/dshipton/software/linux/include - -CLASSES = \ - RandomMoveProblem\ - FishFlokk - -SRCS = \ - main.cpp - -OBJS = $(addsuffix .o, $(CLASSES)) -OBJS += $(SRCS:.cpp=.o) - -fishy: $(OBJS) - $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@ - -%.o: %.cpp - $(CC) $(CFLAGS) -o $@ -c $< - -clean: - rm -f *.o - rm fishy </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-20 17:51:56
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/simple</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1"><span id="removed">FishFlokk.cpp</span></a></tt></td><td></td><td align="right" id="removed">-22</td><td nowrap="nowrap"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> removed</td></tr> <tr class="alt"><td><tt><a href="#file2"><span id="removed">FishFlokk.h</span></a></tt></td><td></td><td align="right" id="removed">-17</td><td nowrap="nowrap"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> removed</td></tr> <tr><td></td><td></td><td align="right" id="removed">-39</td><td></td></tr> </table> <small id="info">2 removed files</small><br /> <pre class="comment"> Converting simple to a true test bed instead of a copy of the fish flokk </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname" id="removed"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader" id="removed"><big><b>FishFlokk.cpp</b></big> <small id="info">removed after <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -N FishFlokk.cpp --- FishFlokk.cpp 13 Dec 2004 18:07:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,22 +0,0 @@ </small></pre><pre class="diff" id="removed">-#include "FishFlokk.h" -#include <flokk/MotionSolver.h> -#include <flokk/Domain.h> - - -namespace fish -{ - FishFlokk::FishFlokk() - { - std::cout << "when am I getting callled?????" << std::endl; - flokk::MotionSolver * ms = new flokk::MotionSolver( 4,4,4 ); - flokk::Domain * d = new flokk::Domain; - d->addPositiveBound( new flokk::Sphere(8) ); - ms->setDomain( d ); - setMotionSolver( ms ); - } - - void FishFlokk::think( float dt ) - { - MotionFlokk::think( dt ); - } -} </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname" id="removed"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader" id="removed"><big><b>FishFlokk.h</b></big> <small id="info">removed after <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -N FishFlokk.h --- FishFlokk.h 15 Dec 2004 01:54:35 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ </small></pre><pre class="diff" id="removed">-#ifndef FISH_FISH_FLOKK_H -#define FISH_FISH_FLOKK_H - -#include <flokk/MotionFlokk.h> - -namespace fish -{ - class FishFlokk : public flokk::MotionFlokk - { - private: - public: - FishFlokk(); - virtual void think( float dt ); - }; -} - -#endif </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-15 01:54:48
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt>fishbowl/src/<a href="#file1">Camera.cpp</a></tt></td><td align="right" id="added">+161</td><td align="right" id="removed">-161</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr class="alt"><td><tt> /<a href="#file2">Camera.h</a></tt></td><td align="right" id="added">+42</td><td align="right" id="removed">-42</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt> /<a href="#file3">ChaseProblem.cpp</a></tt></td><td align="right" id="added">+43</td><td align="right" id="removed">-34</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.cpp.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr class="alt"><td><tt> /<a href="#file4">ChaseProblem.h</a></tt></td><td align="right" id="added">+23</td><td align="right" id="removed">-22</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td><tt> /<a href="#file5">Data.cpp</a></tt></td><td align="right" id="added">+24</td><td align="right" id="removed">-24</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.cpp?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.cpp.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></td></tr> <tr class="alt"><td><tt> /<a href="#file6">Data.h</a></tt></td><td align="right" id="added">+19</td><td align="right" id="removed">-19</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.h.diff?r1=1.5&r2=1.6">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.h?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a></td></tr> <tr><td><tt> /<a href="#file7">FeederState.cpp</a></tt></td><td align="right" id="added">+199</td><td align="right" id="removed">-199</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.16&content-type=text/vnd.viewcvs-markup">1.16</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp.diff?r1=1.16&r2=1.17">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.17&content-type=text/vnd.viewcvs-markup">1.17</a></td></tr> <tr class="alt"><td><tt> /<a href="#file8">FeederState.h</a></tt></td><td align="right" id="added">+21</td><td align="right" id="removed">-21</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h.diff?r1=1.8&r2=1.9">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a></td></tr> <tr><td><tt> /<a href="#file9">Fish.h</a></tt></td><td align="right" id="added">+152</td><td align="right" id="removed">-152</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h.diff?r1=1.11&r2=1.12">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a></td></tr> <tr class="alt"><td><tt> /<a href="#file10">FishFlokk.cpp</a></tt></td><td align="right" id="added">+75</td><td align="right" id="removed">-75</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></td></tr> <tr><td><tt> /<a href="#file11">FishFlokk.h</a></tt></td><td align="right" id="added">+9</td><td align="right" id="removed">-9</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr class="alt"><td><tt> /<a href="#file12">FishState.cpp</a></tt></td><td align="right" id="added">+54</td><td align="right" id="removed">-54</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.cpp.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt> /<a href="#file13">FishState.h</a></tt></td><td align="right" id="added">+11</td><td align="right" id="removed">-11</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr class="alt"><td><tt> /<a href="#file14">Food.h</a></tt></td><td align="right" id="added">+64</td><td align="right" id="removed">-64</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Food.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Food.h.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Food.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td><tt> /<a href="#file15">HungryProblem.cpp</a></tt></td><td align="right" id="added">+56</td><td align="right" id="removed">-53</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.cpp.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr class="alt"><td><tt> /<a href="#file16">HungryProblem.h</a></tt></td><td align="right" id="added">+20</td><td align="right" id="removed">-19</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td><tt> /<a href="#file17">InitState.cpp</a></tt></td><td align="right" id="added">+59</td><td align="right" id="removed">-59</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.cpp?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.cpp.diff?r1=1.8&r2=1.9">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.cpp?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a></td></tr> <tr class="alt"><td><tt> /<a href="#file18">InitState.h</a></tt></td><td align="right" id="added">+11</td><td align="right" id="removed">-11</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td><tt> /<a href="#file19">MoveProblem.cpp</a></tt></td><td align="right" id="added">+47</td><td align="right" id="removed">-39</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr class="alt"><td><tt> /<a href="#file20">MoveProblem.h</a></tt></td><td align="right" id="added">+22</td><td align="right" id="removed">-21</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td><tt> /<a href="#file21">Random.h</a></tt></td><td align="right" id="added">+4</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr class="alt"><td><tt> /<a href="#file22">RandomMoveProblem.cpp</a></tt></td><td align="right" id="added">+89</td><td align="right" id="removed">-84</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.cpp?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.cpp.diff?r1=1.12&r2=1.13">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.cpp?rev=1.13&content-type=text/vnd.viewcvs-markup">1.13</a></td></tr> <tr><td><tt> /<a href="#file23">RandomMoveProblem.h</a></tt></td><td align="right" id="added">+21</td><td align="right" id="removed">-20</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></td></tr> <tr class="alt"><td><tt> /<a href="#file24">SharedMemoryManager.cpp</a></tt></td><td align="right" id="added">+28</td><td align="right" id="removed">-28</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td><tt> /<a href="#file25">SharedMemoryManager.h</a></tt></td><td align="right" id="added">+19</td><td align="right" id="removed">-19</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr class="alt"><td><tt> /<a href="#file26">SharedPointer.h</a></tt></td><td align="right" id="added">+128</td><td align="right" id="removed">-128</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td><tt> /<a href="#file27">SmartPointer.h</a></tt></td><td align="right" id="added">+151</td><td align="right" id="removed">-151</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr class="alt"><td><tt> /<a href="#file28">main.cpp</a></tt></td><td align="right" id="added">+11</td><td align="right" id="removed">-11</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/main.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/main.cpp.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/main.cpp?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></td></tr> <tr><td><tt>simple/<a href="#file29">FishFlokk.h</a></tt></td><td align="right" id="added">+7</td><td align="right" id="removed">-7</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt> /<a href="#file30">Random.h</a></tt></td><td align="right" id="added">+4</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Random.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td><tt> /<a href="#file31">RandomMoveProblem.cpp</a></tt></td><td align="right" id="added">+53</td><td align="right" id="removed">-47</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr class="alt"><td><tt> /<a href="#file32">RandomMoveProblem.h</a></tt></td><td align="right" id="added">+24</td><td align="right" id="removed">-23</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td><tt> /<a href="#file33">main.cpp</a></tt></td><td align="right" id="added">+10</td><td align="right" id="removed">-10</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td></td><td align="right" id="added">+1661</td><td align="right" id="removed">-1625</td><td></td></tr> </table> <small id="info">33 modified files</small><br /> <div class="tasklist"><ul> <li><a href="#task1">TODO: specify as FishFlokk or whatever class we're gonna write</a></li> <li><a href="#task2">TODO: grab mAgent's position and direction instead of this crap</a></li> <li><a href="#task3">TODO: this is n * m, implement a faster search</a></li> <li><a href="#task4">TODO: make this a map for more speed.</a></li> <li><a href="#task5">TODO: there's no way to reset this aside from getting a new piece of food!</a></li> <li><a href="#task6">TODO: should SharedMemoryManager handle dynamic allocation as well?</a></li> <li><a href="#task7">TODO: should this class instead be reference counted so the dynamic memory gets freed</a></li> </ul></div> <pre class="comment"> yep. nedit nedit nedit. hate you. </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Camera.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></small></div> <pre class="diff"><small id="info">diff -u -r1.4 -r1.5 --- Camera.cpp 6 Dec 2004 10:41:20 -0000 1.4 +++ Camera.cpp 15 Dec 2004 01:54:32 -0000 1.5 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Camera.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 10:41:20 $ - * Version: $Revision: 1.4 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.5 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -34,164 +34,164 @@ </small></pre><pre class="diff" id="context"> namespace fish { </pre><pre class="diff" id="removed">- gmtl::Matrix44f Camera::makeRotation( float theta, float x, float y, float z ) - { - gmtl::Matrix44f mat; - mat.set( 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 ); - - //source: http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToMatrix/ - theta *= 3.14159f / 180.f; - float c = cos( theta ); - float s = sin( theta ); - float t = 1.0f - c; - - mat(0,0) = c + x*x*t; - mat(1,1) = c + y*y*t; - mat(2,2) = c + z*z*t; - - float tmp1 = x*y*t; - float tmp2 = z*s; - mat(1,0) = tmp1 + tmp2; - mat(0,1) = tmp1 - tmp2; - - tmp1 = x*z*t; - tmp2 = y*s; - mat(2,0) = tmp1 - tmp2; - mat(0,2) = tmp1 + tmp2; - - tmp1 = y*z*t; - tmp2 = x*s; - mat(2,1) = tmp1 + tmp2; - mat(1,2) = tmp1 - tmp2; - - mat(0,3) = 0; - mat(1,3) = 0; - mat(2,3) = 0; - - mat(3,0) = 0; - mat(3,1) = 0; - mat(3,2) = 0; - mat(3,3) = 1; - - return mat; - } - - void Camera::rotate( float x, float y ) - { - mRotation += gmtl::Vec2f( x, y ); - } - - void Camera::setRotation( float x, float y ) - { - mRotation.set( x, y ); - } - - void Camera::moveRel( float x, float y ) - { - gmtl::Vec3f up( 0,1,0 ); - gmtl::Vec3f right( 1,0,0 ); - up = mInvMatrix * up; - right = mInvMatrix * right; - - mPosition += x * right + y * up; - } - - void Camera::setPosition( float x, float y, float z ) - { - mPosition.set( x, y, z ); - } - - void Camera::zoom( float z ) - { - mZoom += z; - } - - void Camera::setZoom( float z ) - { - mZoom = z; - } - - void Camera::setupView() - { - glLoadIdentity(); - gmtl::Matrix44f mt = mMatrix; - glLoadMatrixf( mt.getData() ); - } - - void Camera::setupInvView() - { - glLoadIdentity(); - gmtl::Matrix44f mt = mInvMatrix; - glLoadMatrixf( mt.getData() ); - } - - void Camera::setupInvRotView() - { - glLoadIdentity(); - gmtl::Matrix44f mt = mMatrix; - mt(0,3) = 0; - mt(1,3) = 0; - mt(2,3) = 0; - gmtl::transpose( mt ); - glLoadMatrixf( mt.getData() ); - } - - void Camera::update( float dt ) - { - - //the camera handles it's own input - gecko::const_EventIterator itr = gecko::InputHandler::instance().eventBegin(gecko::INPUT_MOUSE); - gecko::const_EventIterator end = gecko::InputHandler::instance().eventEnd(gecko::INPUT_MOUSE); - - for( itr; itr != end; ++itr ) - { - - if (itr->type == SDL_MOUSEMOTION) - { - unsigned x = itr->motion.x; - unsigned y = itr->motion.y; - int dx = itr->motion.xrel; - int dy = itr->motion.yrel; - unsigned state = itr->motion.state; - - if (state & SDL_BUTTON(SDL_BUTTON_LEFT)) - { - rotate( -dy, -dx ); - } - if (state&SDL_BUTTON(SDL_BUTTON_MIDDLE)) - { - // moveRel( dx, -dy ); - } - if (state&SDL_BUTTON(SDL_BUTTON_RIGHT)) - { - zoom( dy ); - } - } - } - - //update the matrix - mMatrix.set( 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 ); - - gmtl::Matrix44f rot; - gmtl::Matrix44f tran; - - rot = makeRotation( mRotation[1], 0,-1,0 ); - mMatrix = rot * mMatrix; - - rot = makeRotation( mRotation[0], -1,0,0 ); - mMatrix = rot * mMatrix; - - tran.set( 1,0,0,0, 0,1,0,0, 0,0,1,-mZoom, 0,0,0,1 ); - mMatrix = tran * mMatrix; - - tran.set(1,0,0,mPosition[0], - 0,1,0,mPosition[1], - 0,0,1,mPosition[2], - 0,0,0,1 ); - mMatrix = tran * mMatrix; - - mInvMatrix = mMatrix; - mInvMatrix = gmtl::invert( mInvMatrix ); - } </pre><pre class="diff" id="added">+ gmtl::Matrix44f Camera::makeRotation( float theta, float x, float y, float z ) + { + gmtl::Matrix44f mat; + mat.set( 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 ); + + //source: http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToMatrix/ + theta *= 3.14159f / 180.f; + float c = cos( theta ); + float s = sin( theta ); + float t = 1.0f - c; + + mat(0,0) = c + x*x*t; + mat(1,1) = c + y*y*t; + mat(2,2) = c + z*z*t; + + float tmp1 = x*y*t; + float tmp2 = z*s; + mat(1,0) = tmp1 + tmp2; + mat(0,1) = tmp1 - tmp2; + + tmp1 = x*z*t; + tmp2 = y*s; + mat(2,0) = tmp1 - tmp2; + mat(0,2) = tmp1 + tmp2; + + tmp1 = y*z*t; + tmp2 = x*s; + mat(2,1) = tmp1 + tmp2; + mat(1,2) = tmp1 - tmp2; + + mat(0,3) = 0; + mat(1,3) = 0; + mat(2,3) = 0; + + mat(3,0) = 0; + mat(3,1) = 0; + mat(3,2) = 0; + mat(3,3) = 1; + + return mat; + } + + void Camera::rotate( float x, float y ) + { + mRotation += gmtl::Vec2f( x, y ); + } + + void Camera::setRotation( float x, float y ) + { + mRotation.set( x, y ); + } + + void Camera::moveRel( float x, float y ) + { + gmtl::Vec3f up( 0,1,0 ); + gmtl::Vec3f right( 1,0,0 ); + up = mInvMatrix * up; + right = mInvMatrix * right; + + mPosition += x * right + y * up; + } + + void Camera::setPosition( float x, float y, float z ) + { + mPosition.set( x, y, z ); + } + + void Camera::zoom( float z ) + { + mZoom += z; + } + + void Camera::setZoom( float z ) + { + mZoom = z; + } + + void Camera::setupView() + { + glLoadIdentity(); + gmtl::Matrix44f mt = mMatrix; + glLoadMatrixf( mt.getData() ); + } + + void Camera::setupInvView() + { + glLoadIdentity(); + gmtl::Matrix44f mt = mInvMatrix; + glLoadMatrixf( mt.getData() ); + } + + void Camera::setupInvRotView() + { + glLoadIdentity(); + gmtl::Matrix44f mt = mMatrix; + mt(0,3) = 0; + mt(1,3) = 0; + mt(2,3) = 0; + gmtl::transpose( mt ); + glLoadMatrixf( mt.getData() ); + } + + void Camera::update( float dt ) + { + + //the camera handles it's own input + gecko::const_EventIterator itr = gecko::InputHandler::instance().eventBegin(gecko::INPUT_MOUSE); + gecko::const_EventIterator end = gecko::InputHandler::instance().eventEnd(gecko::INPUT_MOUSE); + + for ( itr; itr != end; ++itr ) + { + + if ( itr->type == SDL_MOUSEMOTION ) + { + unsigned x = itr->motion.x; + unsigned y = itr->motion.y; + int dx = itr->motion.xrel; + int dy = itr->motion.yrel; + unsigned state = itr->motion.state; + + if ( state & SDL_BUTTON(SDL_BUTTON_LEFT) ) + { + rotate( -dy, -dx ); + } + if ( state&SDL_BUTTON(SDL_BUTTON_MIDDLE) ) + { + // moveRel( dx, -dy ); + } + if ( state&SDL_BUTTON(SDL_BUTTON_RIGHT) ) + { + zoom( dy ); + } + } + } + + //update the matrix + mMatrix.set( 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 ); + + gmtl::Matrix44f rot; + gmtl::Matrix44f tran; + + rot = makeRotation( mRotation[1], 0,-1,0 ); + mMatrix = rot * mMatrix; + + rot = makeRotation( mRotation[0], -1,0,0 ); + mMatrix = rot * mMatrix; + + tran.set( 1,0,0,0, 0,1,0,0, 0,0,1,-mZoom, 0,0,0,1 ); + mMatrix = tran * mMatrix; + + tran.set(1,0,0,mPosition[0], + 0,1,0,mPosition[1], + 0,0,1,mPosition[2], + 0,0,0,1 ); + mMatrix = tran * mMatrix; + + mInvMatrix = mMatrix; + mInvMatrix = gmtl::invert( mInvMatrix ); + } </pre><pre class="diff" id="context"> } </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Camera.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Camera.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- Camera.h 6 Dec 2004 10:41:20 -0000 1.3 +++ Camera.h 15 Dec 2004 01:54:32 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Camera.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 10:41:20 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -37,46 +37,46 @@ </small></pre><pre class="diff" id="context"> namespace fish { </pre><pre class="diff" id="removed">- /** - * Camera: - * This class sets up the openGL view according to a gmtl matrix - * that defines the user's viewpoint. - **/ - - class Camera - { - private: - gmtl::Matrix44f mMatrix; - gmtl::Matrix44f mInvMatrix; - gmtl::Vec2f mRotation; - gmtl::Point3f mPosition; - float mZoom; - - /// nice helper function - static gmtl::Matrix44f makeRotation( float theta, float x, float y, float z ); - - public: - - void rotate( float x, float y ); - - void setRotation( float x, float y ); - - void moveRel( float x, float y ); - - void setPosition( float x, float y, float z ); - - void zoom( float z ); - - void setZoom( float z ); - - void setupView(); - - void setupInvView(); - - void setupInvRotView(); - - void update( float dt ); - }; </pre><pre class="diff" id="added">+ /** + * Camera: + * This class sets up the openGL view according to a gmtl matrix + * that defines the user's viewpoint. + **/ + + class Camera + { + private: + gmtl::Matrix44f mMatrix; + gmtl::Matrix44f mInvMatrix; + gmtl::Vec2f mRotation; + gmtl::Point3f mPosition; + float mZoom; + + /// nice helper function + static gmtl::Matrix44f makeRotation( float theta, float x, float y, float z ); + + public: + + void rotate( float x, float y ); + + void setRotation( float x, float y ); + + void moveRel( float x, float y ); + + void setPosition( float x, float y, float z ); + + void zoom( float z ); + + void setZoom( float z ); + + void setupView(); + + void setupInvView(); + + void setupInvRotView(); + + void update( float dt ); + }; </pre><pre class="diff" id="context"> } </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>ChaseProblem.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.cpp.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- ChaseProblem.cpp 6 Dec 2004 10:16:02 -0000 1.2 +++ ChaseProblem.cpp 15 Dec 2004 01:54:32 -0000 1.3 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: ChaseProblem.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 10:16:02 $ - * Version: $Revision: 1.2 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.3 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -33,41 +33,50 @@ </small></pre><pre class="diff" id="context"> #include "ChaseProblem.h" namespace fish { </pre><pre class="diff" id="removed">- ChaseProblem::ChaseProblem( flokk::LocationalAgent la ) { - mChaseAgent = la; - mBox = la->getAABox(); - } - - ChaseProblem::~ChaseProblem( ) { - // do nothing - } </pre><pre class="diff" id="added">+ ChaseProblem::ChaseProblem( flokk::LocationalAgent la ) + { + mChaseAgent = la; + mBox = la->getAABox(); + } + + ChaseProblem::~ChaseProblem( ) + { + // do nothing + } + + void ChaseProblem::solve( float dt ) + { + if ( !mHasSetPosition ) + { + flokk::LocationalAgent * la = dynamic_cast< flokk::LocationalAgent *>( mAgent ); + if ( la ) + { + mAgent->setDesiredPosition( mBox->getMax() - mBox->getMin() ); + } + } + } + + void ChaseProblem::reset( ) + { + + } </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- void ChaseProblem::solve( float dt ) { - if( !mHasSetPosition ) { </pre><pre class="diff" id="added">+ void ChaseProblem::reset( flokk::LocationalAgent la ) + { + mChaseAgent = la; + mBox = la->getAABox(); + } + + bool ChaseProblem::isSolved( ) + { </pre><pre class="diff" id="context"> flokk::LocationalAgent * la = dynamic_cast< flokk::LocationalAgent *>( mAgent ); </pre><pre class="diff" id="removed">- if( la ) { - mAgent->setDesiredPosition( mBox->getMax() - mBox->getMin() ); - } - } - } </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- void ChaseProblem::reset( ) { - - } - - void ChaseProblem::reset( flokk::LocationalAgent la ) { - mChaseAgent = la; - mBox = la->getAABox(); - } - - bool ChaseProblem::isSolved( ) { - flokk::LocationalAgent * la = dynamic_cast< flokk::LocationalAgent *>( mAgent ); - - if( la ) { - return mAgent->getCurrentPosition() == mAgent->getDesiredPosition(); - } </pre><pre class="diff" id="added">+ if ( la ) + { + return mAgent->getCurrentPosition() == mAgent->getDesiredPosition(); + } </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- return false; - } </pre><pre class="diff" id="added">+ return false; + } </pre><pre class="diff" id="context"> } </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>ChaseProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- ChaseProblem.h 15 Dec 2004 00:56:57 -0000 1.2 +++ ChaseProblem.h 15 Dec 2004 01:54:32 -0000 1.3 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: ChaseProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/15 00:56:57 $ - * Version: $Revision: 1.2 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.3 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -37,27 +37,28 @@ </small></pre><pre class="diff" id="context"> #include <gmtl/gmtl.h> namespace fish { </pre><pre class="diff" id="removed">- /** - * ChaseProblem - * This problem specifies the problem for a fish to chase - * after another fish - **/ - class ChaseProblem : public flokk::Problem { - private: - bool mHasSetPosition; - flokk::LocationalAgent mChaseAgent; - gmtl::AABoxf mBox; - - public: - ChaseProblem( ); - ~ChaseProblem( ); - - void solve( float dt ); - void reset( ); - void reset( gmtl::Point3f p ); - bool isSolved( ); </pre><pre class="diff" id="added">+ /** + * ChaseProblem + * This problem specifies the problem for a fish to chase + * after another fish + **/ + class ChaseProblem : public flokk::Problem + { + private: + bool mHasSetPosition; + flokk::LocationalAgent mChaseAgent; + gmtl::AABoxf mBox; + + public: + ChaseProblem( ); + ~ChaseProblem( ); + + void solve( float dt ); + void reset( ); + void reset( gmtl::Point3f p ); + bool isSolved( ); </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- }; </pre><pre class="diff" id="added">+ <span id="addedchars"> </span>}; </pre><pre class="diff" id="context"> } #endif </pre></div> <hr /><a name="file5" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Data.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.cpp?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.cpp.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></small></div> <pre class="diff"><small id="info">diff -u -r1.6 -r1.7 --- Data.cpp 10 Dec 2004 02:30:58 -0000 1.6 +++ Data.cpp 15 Dec 2004 01:54:32 -0000 1.7 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Data.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 02:30:58 $ - * Version: $Revision: 1.6 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.7 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -36,27 +36,27 @@ </small></pre><pre class="diff" id="context"> namespace fish { </pre><pre class="diff" id="removed">- std::map<std::string, pronto::NodePtr> Data::renderNodes; - std::vector< Fish* > Data::fishes; - std::vector< FoodPtr > Data::food; </pre><pre class="diff" id="added">+ std::map<std::string, pronto::NodePtr> Data::renderNodes; + std::vector< Fish* > Data::fishes; + std::vector< FoodPtr > Data::food; </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- //not clean but whatevah - Camera *Data::camera = new Camera; - - void Data::update() - { - //clean deleted food from vector - for( size_t i = 0; i<food.size(); ) - { - if( food[i].get() == 0 ) - { - food.erase( food.begin() + i ); - } - else - { - ++i; - } - } - SharedMemoryManager::instance().freeMemory(); - } </pre><pre class="diff" id="added">+ //not clean but whatevah + Camera *Data::camera = new Camera; + + void Data::update() + { + //clean deleted food from vector + for ( size_t i = 0; i<food.size(); ) + { + if ( food[i].get() == 0 ) + { + food.erase( food.begin() + i ); + } + else + { + ++i; + } + } + SharedMemoryManager::instance().freeMemory(); + } </pre><pre class="diff" id="context"> } </pre></div> <hr /><a name="file6" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Data.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.h?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.h.diff?r1=1.5&r2=1.6">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Data.h?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a></small></div> <pre class="diff"><small id="info">diff -u -r1.5 -r1.6 --- Data.h 10 Dec 2004 02:30:58 -0000 1.5 +++ Data.h 15 Dec 2004 01:54:32 -0000 1.6 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Data.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 02:30:58 $ - * Version: $Revision: 1.5 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.6 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -39,23 +39,23 @@ </small></pre><pre class="diff" id="context"> namespace fish { </pre><pre class="diff" id="removed">- /** - * Data: - * This class contains some static shared data such as the - * models loaded up from the initialization state. Just a - * handy way to pass around data between states. - **/ - - class Camera; - class Data - { - public: - static std::vector< Fish* > fishes; - static std::vector< FoodPtr > food; - static std::map<std::string, pronto::NodePtr> renderNodes; - static Camera *camera; - static void update(); - }; </pre><pre class="diff" id="added">+ /** + * Data: + * This class contains some static shared data such as the + * models loaded up from the initialization state. Just a + * handy way to pass around data between states. + **/ + + class Camera; + class Data + { + public: + static std::vector< Fish* > fishes; + static std::vector< FoodPtr > food; + static std::map<std::string, pronto::NodePtr> renderNodes; + static Camera *camera; + static void update(); + }; </pre><pre class="diff" id="context"> } #endif </pre></div> <hr /><a name="file7" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FeederState.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.16&content-type=text/vnd.viewcvs-markup">1.16</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp.diff?r1=1.16&r2=1.17">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.17&content-type=text/vnd.viewcvs-markup">1.17</a></small></div> <pre class="diff"><small id="info">diff -u -r1.16 -r1.17 --- FeederState.cpp 15 Dec 2004 00:56:57 -0000 1.16 +++ FeederState.cpp 15 Dec 2004 01:54:32 -0000 1.17 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: FeederState.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/15 00:56:57 $ - * Version: $Revision: 1.16 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:54:32 $ + * Version: $Revision: 1.17 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -37,201 +37,201 @@ </small></pre><pre class="diff" id="context"> namespace fish { </pre><pre class="diff" id="removed">- FeederState::FeederState() - { - mPipe = pronto::RenderPipe::create(); - mDynamicPipe = pronto::RenderPipe::create(); - } - - ///fill pipes - void FeederState::activate() - { - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - - gecko::Context c = gecko::Kernel::instance().getContext(); - gluPerspective( 50, (float)c.mWidth /(float)c.mHeight, 0.1f, 1000 ); - - glMatrixMode( GL_MODELVIEW ); - Data::camera->setRotation( -45, 45 ); - Data::camera->setPosition(0,0,0); - Data::camera->setZoom( 100 ); - - glEnable( GL_DEPTH_TEST ); - glDepthFunc( GL_LEQUAL ); - glEnable( GL_CULL_FACE ); - glCullFace( GL_BACK ); - - - for( int i = 0; i<10; ++i ) - { - Fish *f = new Fish; - f->setRenderNode( Data::renderNodes["fish"]->deepClone() ); - f->setFlokk( &mFlokk ); - Data::fishes.push_back( f ); - } - - for( size_t i = 0; i<Data::fishes.size(); ++i ) - { - Data::fishes[i]->queueDrawing( mPipe ); - } - - mPipe->queueNode( Data::renderNodes["fishbowl"] ); - mPipe->queueNode( Data::renderNodes["water"] ); - - } - - ///clean pipes - void FeederState::deactivate() - { - mPipe->clearQueue(); - mPipe->clearPipe(); - for( size_t i = 0; i<Data::fishes.size(); ++i ) - { - delete Data::fishes[i]; - } - Data::fishes.clear(); - } - - ///update simulation - void FeederState::preFrame( double dt ) - { - static bool feeding = false; - - - pronto::TextureResourceManager::instance().contextUpdate(); - pronto::MeshResourceManager::instance().contextUpdate(); - pronto::ShaderResourceManager::instance().contextUpdate(); - - pronto::TextureResourceManager::instance().postContextUpdate(); - pronto::MeshResourceManager::instance().postContextUpdate(); - pronto::ShaderResourceManager::instance().postContextUpdate(); - - gecko::const_EventIterator itr = gecko::InputHandler::instance().eventBegin(gecko::INPUT_KEYBOARD); - gecko::const_EventIterator end = gecko::InputHandler::instance().eventEnd(gecko::INPUT_KEYBOARD); - for( itr; itr != end; ++itr ) - { - if( itr->type == SDL_KEYDOWN && itr->key.keysym.sym == SDLK_SPACE ) - { - //feeding = !feeding; - - FoodPtr f( new Food ); - pronto::NodePtr n; - float r = randomf( 0,3 ); - if( r < 1 ) n = Data::renderNodes["flake1"]->deepClone(); - else if( r < 2 ) n = Data::renderNodes["flake2"]->deepClone(); - else n = Data::renderNodes["flake3"]->deepClone(); - f->setRenderNode( n ); - Data::food.push_back( f ); - } - if( itr->type == SDL_KEYDOWN && itr->key.keysym.sym == SDLK_ESCAPE ) - { - gecko::Kernel::instance().stop(); - } - } - - if( feeding ) - { - itr = gecko::InputHandler::instance().eventBegin(gecko::INPUT_MOUSE); - end = gecko::InputHandler::instance().eventEnd(gecko::INPUT_MOUSE); - - for( itr; itr != end; ++itr ) - { - if (itr->type == SDL_MOUSEMOTION) - { - unsigned x = itr->motion.x; - unsigned y = itr->motion.y; - int dx = itr->motion.xrel; - int dy = itr->motion.yrel; - unsigned state = itr->motion.state; - - if (state & SDL_BUTTON(SDL_BUTTON_LEFT)) - { - - /* - GLdouble mv[16]; - GLdouble proj[16]; - GLint viewp[4]; - - glPushMatrix(); - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - Data::camera->setupView(); - glGetDoublev( GL_MODELVIEW_MATRIX, mv ); - glGetDoublev( GL_PROJECTION_MATRIX, proj ); - glGetIntegerv( GL_VIEWPORT, viewp ); - glPopMatrix(); - - GLdouble rx,ry,rz; - gluUnProject( x, y, 0, mv, proj, viewp, &rx, &ry, &rz ); - gmtl::Rayf ray; - ray.mOrigin.set( rx,ry,rz ); - gluUnProject( x, y, -10, mv, proj, viewp, &rx, &ry, &rz ); - ray.mDir.set( rx - ray.mOrigin[0], ry - ray.mOrigin[1], rz - ray.mOrigin[2] ); - - gmtl::Planef water( gmtl::Vec3f(0,1,0), 0 ); - - float thit; - if( gmtl::intersect( water, ray, thit ) ) - { - std::cout<<"food!"<<std::endl; - pronto::NodePtr n = pronto::Node::create(); - pronto::MaterialPtr mat = pronto::Material::create(); - mat->addRenderState( pronto::ColorState::create(1,1,1,1) ); - n->addChunk( mat, pronto::AxisChunk::create( 1 ) ); - mPipe->queueNode( n ); - n->getTransform()->setPosition( ray.mOrigin + ray.mDir * thit ); - } - */ - } - } - } - } - - mFlokk.think( (float)dt ); - - for( size_t i = 0; i<Data::fishes.size(); ++i ) - { - Data::fishes[i]->update( dt ); - } - - Data::update(); - - Data::camera->update( (float)dt ); - - for( size_t i = 0; i<Data::food.size(); ++i ) - { - Data::food[i]->update( (float)dt ); - Data::food[i]->queueDrawing( mDynamicPipe ); - } - } - - ///draw pipes - void FeederState::draw() - { - float g = 0.4f; - glClearColor(g,g,g,1); - glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); - - glMatrixMode( GL_TEXTURE ); - glLoadIdentity(); - Data::camera->setupInvRotView(); - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - Data::camera->setupView(); - - - glEnable( GL_DEPTH_TEST ); - glEnable( GL_LIGHTING ); - glEnable( GL_LIGHT0 ); - float dir[] = {1,4,1,0}; - float color[]= {1,1,1,1}; - glLightfv( GL_LIGHT0, GL_POSITION, dir ); - glLightfv( GL_LIGHT0, GL_DIFFUSE, color ); - glLightfv( GL_LIGHT0, GL_SPECULAR, color ); - mPipe->draw(); - mDynamicPipe->draw(); - mDynamicPipe->clearQueue(); - mDynamicPipe->clearPipe(); - } </pre><pre class="diff" id="added">+ FeederState::FeederState() + { + mPipe = pronto::RenderPipe::create(); + mDynamicPipe = pronto::RenderPipe::create(); + } + + ///fill pipes + void FeederState::activate() + { + glMatrixMode( GL_PROJECTION ); + glLoadIdentity(); + + gecko::Context c = gecko::Kernel::instance().getContext(); + gluPerspective( 50, (float)c.mWidth /(float)c.mHeight, 0.1f, 1000 ); + + glMatrixMode( GL_MODELVIEW ); + Data::camera->setRotation( -45, 45 ); + Data::camera->setPosition(0,0,0); + Data::camera->setZoom( 100 ); + + glEnable( GL_DEPTH_TEST ); + glDepthFunc( GL_LEQUAL ); + glEnable( GL_CULL_FACE ); + glCullFace( GL_BACK ); + + + for ( int i = 0; i<10; ++i ) + { + Fish *f = new Fish; + f->setRenderNode( Data::renderNodes["fish"]->deepClone() ); + f->setFlokk( &mFlokk ); + Data::fishes.push_back( f ); + } + + for ( size_t i = 0; i<Data::fishes.size(); ++i ) + { + Data::fishes[i]->queueDrawing( mPipe ); + } + + mPipe->queueNode( Data::renderNodes["fishbowl"] ); + mPipe->queueNode( Data::renderNodes["water"] ); + + } + + ///clean pipes + void FeederState::deactivate() + { + mPipe->clearQueue(); + mPipe->clearPipe(); + for ( size_t i = 0; i<Data::fishes.size(); ++i ) + { + delete Data::fishes[i]; + } + Data::fishes.clear(); + } + + ///update simulation + void FeederState::preFrame( double dt ) + { + static bool feeding = false; + + + pronto::TextureResourceManager::instance().contextUpdate(); + pronto::MeshResourceManager::instance().contextUpdate(); + pronto::ShaderResourceManager::instance().contextUpdate(); + + pronto::TextureResourceManager::instance().postContextUpdate(); + pronto::MeshResourceManager::instance().postContextUpdate(); + pronto::ShaderResourceManager::instance().postContextUpdate(); + + gecko::const_EventIterator itr = gecko::InputHandler::instance().eventBegin(gecko::INPUT_KEYBOARD); + gecko::const_EventIterator end = gecko::InputHandler::instance().eventEnd(gecko::INPUT_KEYBOARD); + for ( itr; itr != end; ++itr ) + { + if ( itr->type == SDL_KEYDOWN && itr->key.keysym.sym == SDLK_SPACE ) + { + //feeding = !feeding; + + FoodPtr f( new Food ); + pronto::NodePtr n; + float r = randomf( 0,3 ); + if ( r < 1 ) n = Data::renderNodes["flake1"]->deepClone(); + else if ( r < 2 ) n = Data::renderNodes["flake2"]->deepClone(); + else n = Data::renderNodes["flake3"]->deepClone(); + f->setRenderNode( n ); + Data::food.push_back( f ); + } + if ( itr->type == SDL_KEYDOWN && itr->key.keysym.sym == SDLK_ESCAPE ) + { + gecko::Kernel::instance().stop(); + } + } + + ... [truncated message content] |
From: Daniel E. S. <dsh...@us...> - 2004-12-15 01:53:57
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/src/flokk</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">Agent.h</a></tt></td><td align="right" id="added">+17</td><td align="right" id="removed">-17</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.22&content-type=text/vnd.viewcvs-markup">1.22</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h.diff?r1=1.22&r2=1.23">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.23&content-type=text/vnd.viewcvs-markup">1.23</a></td></tr> <tr class="alt"><td><tt><a href="#file2">LocationalAgent.cpp</a></tt></td><td align="right" id="added">+8</td><td align="right" id="removed">-8</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp.diff?r1=1.8&r2=1.9">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a></td></tr> <tr><td><tt><a href="#file3">LocationalAgent.h</a></tt></td><td align="right" id="added">+19</td><td align="right" id="removed">-19</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></td></tr> <tr class="alt"><td><tt><a href="#file4">MotionSolver.cpp</a></tt></td><td align="right" id="added">+36</td><td align="right" id="removed">-36</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.21&content-type=text/vnd.viewcvs-markup">1.21</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.21&r2=1.22">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.22&content-type=text/vnd.viewcvs-markup">1.22</a></td></tr> <tr><td></td><td align="right" id="added">+80</td><td align="right" id="removed">-80</td><td></td></tr> </table> <small id="info">4 modified files</small><br /> <div class="tasklist"><ul> <li><a href="#task1">TODO: this should in theory be in the orientation matrix, but this is more handy</a></li> </ul></div> <pre class="comment"> Damn nedit. always messing up formatting. </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>Agent.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.22&content-type=text/vnd.viewcvs-markup">1.22</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h.diff?r1=1.22&r2=1.23">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.23&content-type=text/vnd.viewcvs-markup">1.23</a></small></div> <pre class="diff"><small id="info">diff -u -r1.22 -r1.23 --- Agent.h 10 Dec 2004 06:27:54 -0000 1.22 +++ Agent.h 15 Dec 2004 01:53:50 -0000 1.23 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Agent.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 06:27:54 $ - * Version: $Revision: 1.22 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:53:50 $ + * Version: $Revision: 1.23 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -75,27 +75,27 @@ </small></pre><pre class="diff" id="context"> */ virtual void think( float dt ); </pre><pre class="diff" id="removed">- void setUserData( void * data ) - { - mUserData = data; - } - - const void * getUserData()const - { - return mUserData; - } - - void * getUserData() - { - return mUserData; - } </pre><pre class="diff" id="added">+ void setUserData( void * data ) + { + mUserData = data; + } + + const void * getUserData()const + { + return mUserData; + } + + void * getUserData() + { + return mUserData; + } </pre><pre class="diff" id="context"> protected: Flokk* mParent; /*< Flock this agent belongs in. Null if root flokk. */ Problem* mDefaultProblem; /*< Agent's default Problem */ std::vector<Problem*> mProblems; /*< List of Problems to solve */ </pre><pre class="diff" id="removed">-<span id="removedchars"> void* </span> mUserData; /*< miscellaneous data for convenience */ </pre><pre class="diff" id="added">+<span id="addedchars"> void* </span> mUserData; /*< miscellaneous data for convenience */ </pre><pre class="diff" id="context"> }; } </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>LocationalAgent.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp.diff?r1=1.8&r2=1.9">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a></small></div> <pre class="diff"><small id="info">diff -u -r1.8 -r1.9 --- LocationalAgent.cpp 10 Dec 2004 06:27:54 -0000 1.8 +++ LocationalAgent.cpp 15 Dec 2004 01:53:50 -0000 1.9 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: LocationalAgent.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 06:27:54 $ - * Version: $Revision: 1.8 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:53:50 $ + * Version: $Revision: 1.9 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -41,7 +41,7 @@ </small></pre><pre class="diff" id="context"> mSpeed = 0; mDesiredSpeed = 0; mMaxSpeed = -1; </pre><pre class="diff" id="removed">-<span id="removedchars"> </span> mDirection.set( 0,0,1 ); </pre><pre class="diff" id="added">+<span id="addedchars"> </span> mDirection.set( 0,0,1 ); </pre><pre class="diff" id="context"> } LocationalAgent::~LocationalAgent() </pre><pre class="diff"><small id="info">@@ -107,7 +107,7 @@ </small></pre><pre class="diff" id="context"> { mSpeed = s; } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> void LocationalAgent::setMaxSpeed( float s ) { mMaxSpeed = s; </pre><pre class="diff"><small id="info">@@ -122,7 +122,7 @@ </small></pre><pre class="diff" id="context"> { return mSpeed; } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> float LocationalAgent::getMaxSpeed()const { return mMaxSpeed; </pre><pre class="diff"><small id="info">@@ -132,13 +132,13 @@ </small></pre><pre class="diff" id="context"> { return mDesiredSpeed; } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> void LocationalAgent::setDirection( const gmtl::Vec3f & v ) { mDirection = v; </pre><pre class="diff" id="removed">-<span id="removedchars"> </span> gmtl::normalize( mDirection ); </pre><pre class="diff" id="added">+<span id="addedchars"> </span> gmtl::normalize( mDirection ); </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> const gmtl::Vec3f & LocationalAgent::getDirection()const { return mDirection; </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>LocationalAgent.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></small></div> <pre class="diff"><small id="info">diff -u -r1.7 -r1.8 --- LocationalAgent.h 10 Dec 2004 06:27:55 -0000 1.7 +++ LocationalAgent.h 15 Dec 2004 01:53:50 -0000 1.8 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: LocationalAgent.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 06:27:55 $ - * Version: $Revision: 1.7 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:53:50 $ + * Version: $Revision: 1.8 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -97,10 +97,10 @@ </small></pre><pre class="diff" id="context"> void setMaxSpeed( float s ); /** </pre><pre class="diff" id="removed">- * Returns the Agent's maximum speed. - */ </pre><pre class="diff" id="added">+ * Returns the Agent's maximum speed. + */ </pre><pre class="diff" id="context"> float getMaxSpeed()const; </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> /** * Returns the Agent's current speed. */ </pre><pre class="diff"><small id="info">@@ -138,26 +138,26 @@ </small></pre><pre class="diff" id="context"> */ virtual void think( float dt ); </pre><pre class="diff" id="removed">- /** - * Sets the agent's current position to the value passed in. Should only - * be used initially for simulation setup. - */ </pre><pre class="diff" id="added">+ /** + * Sets the agent's current position to the value passed in. Should only + * be used initially for simulation setup. + */ </pre><pre class="diff" id="context"> void setPosition( const gmtl::Point3f & p ); /** * Sets the agent's current direction to the value passed in. Should only </pre><pre class="diff" id="removed">-<span id="removedchars"> </span> * be used initially for simulation setup. </pre><pre class="diff" id="added">+<span id="addedchars"> </span> * be used initially for simulation setup. </pre><pre class="diff" id="context"> */ void setDirection( const gmtl::Vec3f & v ); </pre><pre class="diff" id="removed">- - /** - * Returns the agent's current direction vector - */ - const gmtl::Vec3f & getDirection()const; </pre><pre class="diff" id="added">+ + /** + * Returns the agent's current direction vector + */ + const gmtl::Vec3f & getDirection()const; </pre><pre class="diff" id="context"> protected: </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> /** * Sets the Agent's current speed to the value passed in. */ </pre><pre class="diff"><small id="info">@@ -171,9 +171,9 @@ </small></pre><pre class="diff" id="context"> gmtl::Point3f mPosition; /*< Current Position */ gmtl::Point3f mDesiredPosition; /*< Desired Position */ </pre><pre class="diff" id="removed">- - //TODO: this should in theory be in the orientation matrix, but this is more handy - gmtl::Vec3f mDirection; /*< Current Direction Vector */ </pre><pre class="diff" id="added">+ <a name="task1" />+ //<span class="task">TODO</span>: this should in theory be in the orientation matrix, but this is more handy + gmtl::Vec3f mDirection; /*< Current Direction Vector */ </pre><pre class="diff" id="context"> float mSpeed; /*< Current Speed */ float mDesiredSpeed; /*< Desired Speed */ </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>MotionSolver.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.21&content-type=text/vnd.viewcvs-markup">1.21</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.21&r2=1.22">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.22&content-type=text/vnd.viewcvs-markup">1.22</a></small></div> <pre class="diff"><small id="info">diff -u -r1.21 -r1.22 --- MotionSolver.cpp 13 Dec 2004 22:17:21 -0000 1.21 +++ MotionSolver.cpp 15 Dec 2004 01:53:50 -0000 1.22 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: MotionSolver.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/13 22:17:21 $ - * Version: $Revision: 1.21 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 01:53:50 $ + * Version: $Revision: 1.22 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -87,7 +87,7 @@ </small></pre><pre class="diff" id="context"> int spanX = 0; int spanY = 0; int spanZ = 0; </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> int finalPositions[mMovements.size()*6]; //std::cout << "positions available: " << mXDivs*mYDivs*mZDivs << std::endl; </pre><pre class="diff"><small id="info">@@ -98,22 +98,22 @@ </small></pre><pre class="diff" id="context"> gmtl::LineSegf line; line.mOrigin = mMovements[i].currentPos; line.mDir = d; </pre><pre class="diff" id="removed">- - // update the agent's direction - mMovements[i].owner->setDirection( line.mDir ); </pre><pre class="diff" id="added">+ + // update the agent's direction + mMovements[i].owner->setDirection( line.mDir ); </pre><pre class="diff" id="context"> gmtl::Point3f dest = mMovements[i].desiredPos; </pre><pre class="diff" id="removed">- /* - if ( mDomain && mDomain->clipToDomain( line, line ) ) - { - dest = line.mOrigin + line.mDir; - //clip the desired position - mMovements[i].owner->setDesiredPosition( dest ); - } - */ </pre><pre class="diff" id="added">+ /* + if ( mDomain && mDomain->clipToDomain( line, line ) ) + { + dest = line.mOrigin + line.mDir; + //clip the desired position + mMovements[i].owner->setDesiredPosition( dest ); + } + */ + </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="context"> gmtl::normalize( d ); float speed = mMovements[i].desiredSpeed; if ( mMovements[i].maxSpeed >= 0 && speed > mMovements[i].maxSpeed ) </pre><pre class="diff"><small id="info">@@ -123,10 +123,10 @@ </small></pre><pre class="diff" id="context"> d = d * (speed * dt); </pre><pre class="diff" id="removed">- - mMovements[i].owner->setSpeed( speed ); - - //if our speed is going to take us beyond the desired position, clamp </pre><pre class="diff" id="added">+ + mMovements[i].owner->setSpeed( speed ); + + //if our speed is going to take us beyond the desired position, clamp </pre><pre class="diff" id="context"> if ( gmtl::lengthSquared( d ) > gmtl::lengthSquared( line.mDir ) ) { mMovements[i].owner->setPosition( dest ); </pre><pre class="diff"><small id="info">@@ -135,12 +135,12 @@ </small></pre><pre class="diff" id="context"> { mMovements[i].owner->setPosition( mMovements[i].currentPos + d ); } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> //TODO: collision detection and handling with other agents //TODO: orientation lerping </pre><pre class="diff" id="removed">- - </pre><pre class="diff" id="added">+ + </pre><pre class="diff" id="context"> gmtl::Point3f currMin = (mMovements[i].owner->getAABox()).getMin() + mMovements[i].currentPos; gmtl::Point3f destMin = currMin + d; </pre><pre class="diff"><small id="info">@@ -241,14 +241,14 @@ </small></pre><pre class="diff" id="context"> finalPositions[i*6 + 4] = yMaxPos; finalPositions[i*6 + 5] = zMaxPos; </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- //std::cout << "x: " << finalPositions[i*6] << " " << finalPositions[i*6 +3] << " y: " << finalPositions[i*6 +1] << " " - //<< finalPositions[i*6 +4] << " z: " << finalPositions[i*6 +2] << " " << finalPositions[i*6 +5] << std::endl << std::endl; </pre><pre class="diff" id="added">+ + //std::cout << "x: " << finalPositions[i*6] << " " << finalPositions[i*6 +3] << " y: " << finalPositions[i*6 +1] << " " + //<< finalPositions[i*6 +4] << " z: " << finalPositions[i*6 +2] << " " << finalPositions[i*6 +5] << std::endl << std::endl; </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> //std::cout << 3 << std::endl; //Organize tree by the least spanned variables </pre><pre class="diff"><small id="info">@@ -314,8 +314,8 @@ </small></pre><pre class="diff" id="context"> finalPositions[i*6 + 5] = ZMaxPos; */ </pre><pre class="diff" id="removed">- //std::cout << "xyz shift: " << xShift << " " << yShift << " " << zShift << std::endl; - </pre><pre class="diff" id="added">+ //std::cout << "xyz shift: " << xShift << " " << yShift << " " << zShift << std::endl; + </pre><pre class="diff" id="context"> //std::cout << "Start the insertion of " << mMovements.size() << " movements." << std::endl; // Insert the two markers into the array that is a tree for ( unsigned int i = 0; i<mMovements.size(); ++i ) </pre><pre class="diff"><small id="info">@@ -329,7 +329,7 @@ </small></pre><pre class="diff" id="context"> mTreeArray[((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift))].push_back(i); mTreeArray[((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift))].push_back(i); } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> std::map<int,int> conflicts; bool found = false; </pre><pre class="diff"><small id="info">@@ -338,7 +338,7 @@ </small></pre><pre class="diff" id="context"> for ( int i = mTreeArray.size()-1; i > 0; i-- ) { //std::cout << i << std::endl; </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> while ( !(mTreeArray[i].empty()) ) { int search_val = mTreeArray[i].back(); </pre><pre class="diff"><small id="info">@@ -350,26 +350,26 @@ </small></pre><pre class="diff" id="context"> // for every value that you see that is not it add it to possible conflicts // move down the array and keep searching </pre><pre class="diff" id="removed">- for(unsigned int j = i; j>=0 && !found; j--) </pre><pre class="diff" id="added">+ for ( unsigned int j = i; j>=0 && !found; j-- ) </pre><pre class="diff" id="context"> { </pre><pre class="diff" id="removed">- for<span id="removedchars">(</span>unsigned int k = 0; k < mTreeArray[j].size() && !found; k++ ) </pre><pre class="diff" id="added">+ for<span id="addedchars"> ( </span>unsigned int k = 0; k < mTreeArray[j].size() && !found; k++ ) </pre><pre class="diff" id="context"> { </pre><pre class="diff" id="removed">- if(mTreeArray[j][k] == search_val) // found it right away </pre><pre class="diff" id="added">+ if ( mTreeArray[j][k] == search_val ) // found it right away </pre><pre class="diff" id="context"> { std::vector<int>::iterator itr = mTreeArray[j].begin(); itr+=k; mTreeArray[j].erase(itr); erased++; found = true; </pre><pre class="diff" id="removed">- for(unsigned int l =0; l < mTreeArray[j].size(); l++) </pre><pre class="diff" id="added">+ for ( unsigned int l =0; l < mTreeArray[j].size(); l++ ) </pre><pre class="diff" id="context"> { // add in possible conflicts conflicts.insert(std::make_pair(search_val,mTreeArray[j][l])); } } else </pre><pre class="diff" id="removed">- { - conflicts.insert(std::make_pair(search_val, mTreeArray[j][k])); </pre><pre class="diff" id="added">+ { + conflicts.insert(std::make_pair(search_val, mTreeArray[j][k])); </pre><pre class="diff" id="context"> } } } </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-15 01:44:27
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/simple</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">Makefile</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> </table> <pre class="comment"> don't warn about non virtual dtor </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>Makefile</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/Makefile?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- Makefile 8 Dec 2004 05:14:43 -0000 1.1 +++ Makefile 15 Dec 2004 01:44:20 -0000 1.2 @@ -1,6 +1,6 @@ </small></pre><pre class="diff" id="context"> CC = g++ LIBS = -L ../../build.linux.fc1/src/.libs -lflokk </pre><pre class="diff" id="removed">-CFLAGS = -g -Wall -I . -I ../../src -I/home/users/dshipton/software/linux/include </pre><pre class="diff" id="added">+CFLAGS = -g -Wall -<span id="addedchars">Wno-non-virtual-dtor -</span>I . -I ../../src -I/home/users/dshipton/software/linux/include </pre><pre class="diff" id="context"> CLASSES = \ RandomMoveProblem\ </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-15 01:41:55
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/fishbowl</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">Makefile.am</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/Makefile.am?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/Makefile.am.diff?r1=1.10&r2=1.11">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/Makefile.am?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a></td></tr> </table> <pre class="comment"> Don't need to specify rtti and also compile with -O3 </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a><br /></span> <div class="fileheader"><big><b>Makefile.am</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/Makefile.am?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/Makefile.am.diff?r1=1.10&r2=1.11">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/Makefile.am?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a></small></div> <pre class="diff"><small id="info">diff -u -r1.10 -r1.11 --- Makefile.am 10 Dec 2004 02:30:57 -0000 1.10 +++ Makefile.am 15 Dec 2004 01:41:48 -0000 1.11 @@ -15,7 +15,7 @@ </small></pre><pre class="diff" id="context"> src/SharedMemoryManager.cpp\ src/InitState.cpp </pre><pre class="diff" id="removed">-fishbowl_CXXFLAGS = -DGLEW_STATIC -g -<span id="removedchars">frtti</span> </pre><pre class="diff" id="added">+fishbowl_CXXFLAGS = -DGLEW_STATIC -g -<span id="addedchars">O3</span> </pre><pre class="diff" id="context"> fishbowl_LDFLAGS = \ -L$(top_builddir)/src -L$(top_srcdir)/samples/fishbowl/external/lib\ </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-15 01:41:08
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/src</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">Makefile.am</a></tt></td><td align="right" id="added">+9</td><td align="right" id="removed">-9</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/Makefile.am?rev=1.19&content-type=text/vnd.viewcvs-markup">1.19</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/Makefile.am.diff?r1=1.19&r2=1.20">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/Makefile.am?rev=1.20&content-type=text/vnd.viewcvs-markup">1.20</a></td></tr> </table> <pre class="comment"> build -O3 with debug and don't need to specify rtti </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a><br /></span> <div class="fileheader"><big><b>Makefile.am</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/Makefile.am?rev=1.19&content-type=text/vnd.viewcvs-markup">1.19</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/Makefile.am.diff?r1=1.19&r2=1.20">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/Makefile.am?rev=1.20&content-type=text/vnd.viewcvs-markup">1.20</a></small></div> <pre class="diff"><small id="info">diff -u -r1.19 -r1.20 --- Makefile.am 6 Dec 2004 10:57:41 -0000 1.19 +++ Makefile.am 15 Dec 2004 01:41:00 -0000 1.20 @@ -4,30 +4,30 @@ </small></pre><pre class="diff" id="context"> nobase_include_HEADERS = \ flokk/Agent.h\ </pre><pre class="diff" id="added">+ flokk/Bound.h\ + flokk/Box.h + flokk/Domain.h\ </pre><pre class="diff" id="context"> flokk/Flokk.h\ flokk/LocationalAgent.h\ flokk/MotionFlokk.h\ flokk/MotionSolver.h\ flokk/Problem.h\ </pre><pre class="diff" id="removed">- flokk/Bound.h\ - flokk/Domain.h\ - flokk/Sphere.h\ - flokk/Box.h </pre><pre class="diff" id="added">+ flokk/Sphere.h </pre><pre class="diff" id="context"> libflokk_la_SOURCES = \ flokk/Agent.cpp\ </pre><pre class="diff" id="added">+ flokk/Bound.cpp\ + flokk/Box.cpp\ + flokk/Domain.cpp\ </pre><pre class="diff" id="context"> flokk/Flokk.cpp\ flokk/LocationalAgent.cpp\ flokk/MotionFlokk.cpp\ flokk/MotionSolver.cpp\ flokk/Problem.cpp\ </pre><pre class="diff" id="removed">- flokk/Bound.cpp\ - flokk/Domain.cpp\ - flokk/Sphere.cpp\ - flokk/Box.cpp </pre><pre class="diff" id="added">+ flokk/Sphere.cpp </pre><pre class="diff" id="context"> libflokk_la_LDFLAGS = \ -release $(VERSION) libflokk_la_CXXFLAGS = \ </pre><pre class="diff" id="removed">- -Wall -Wno-non-virtual-dtor -g -<span id="removedchars">frtti</span> -fpic </pre><pre class="diff" id="added">+ -Wall -Wno-non-virtual-dtor -g -<span id="addedchars">O3</span> -fpic </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-15 00:57:08
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/fishbowl/src</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">ChaseProblem.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt><a href="#file2">FeederState.cpp</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-3</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.15&content-type=text/vnd.viewcvs-markup">1.15</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp.diff?r1=1.15&r2=1.16">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.16&content-type=text/vnd.viewcvs-markup">1.16</a></td></tr> <tr><td><tt><a href="#file3">FeederState.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></td></tr> <tr class="alt"><td><tt><a href="#file4">Fish.h</a></tt></td><td align="right" id="added">+1</td><td></td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h.diff?r1=1.10&r2=1.11">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a></td></tr> <tr><td><tt><a href="#file5">FishFlokk.cpp</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp.diff?r1=1.5&r2=1.6">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a></td></tr> <tr class="alt"><td><tt><a href="#file6">FishFlokk.h</a></tt></td><td align="right" id="added">+1</td><td></td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt><a href="#file7">FishState.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr class="alt"><td><tt><a href="#file8">HungryProblem.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt><a href="#file9">Includes.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Includes.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Includes.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Includes.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr class="alt"><td><tt><a href="#file10">InitState.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt><a href="#file11">MoveProblem.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr class="alt"><td><tt><a href="#file12">Random.h</a></tt></td><td align="right" id="added">+1</td><td></td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td><tt><a href="#file13">RandomMoveProblem.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></td></tr> <tr class="alt"><td><tt><a href="#file14">SharedMemoryManager.cpp</a></tt></td><td align="right" id="added">+38</td><td align="right" id="removed">-37</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td><tt><a href="#file15">SharedMemoryManager.h</a></tt></td><td align="right" id="added">+35</td><td align="right" id="removed">-34</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt><a href="#file16">SharedPointer.h</a></tt></td><td align="right" id="added">+140</td><td align="right" id="removed">-140</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td><tt><a href="#file17">SmartPointer.h</a></tt></td><td align="right" id="added">+164</td><td align="right" id="removed">-163</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td></td><td align="right" id="added">+408</td><td align="right" id="removed">-394</td><td></td></tr> </table> <small id="info">17 modified files</small><br /> <div class="tasklist"><ul> <li><a href="#task1">TODO: should SharedMemoryManager handle dynamic allocation as well?</a></li> <li><a href="#task2">TODO: should this class instead be reference counted so the dynamic memory gets freed</a></li> </ul></div> <pre class="comment"> Convert all files to unix format and add lines to the end of files so there are no more compiler warnings to bug me. This demo is looking sweeter and sweeter... </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>ChaseProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/ChaseProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- ChaseProblem.h 6 Dec 2004 09:13:27 -0000 1.1 +++ ChaseProblem.h 15 Dec 2004 00:56:57 -0000 1.2 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: ChaseProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 09:13:27 $ - * Version: $Revision: 1.1 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.2 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -61,3 +61,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FeederState.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.15&content-type=text/vnd.viewcvs-markup">1.15</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp.diff?r1=1.15&r2=1.16">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.cpp?rev=1.16&content-type=text/vnd.viewcvs-markup">1.16</a></small></div> <pre class="diff"><small id="info">diff -u -r1.15 -r1.16 --- FeederState.cpp 10 Dec 2004 02:30:58 -0000 1.15 +++ FeederState.cpp 15 Dec 2004 00:56:57 -0000 1.16 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: FeederState.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 02:30:58 $ - * Version: $Revision: 1.15 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.16 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -63,7 +63,7 @@ </small></pre><pre class="diff" id="context"> glCullFace( GL_BACK ); </pre><pre class="diff" id="removed">- for( int i = 0; i<<span id="removedchars">7</span>; ++i ) </pre><pre class="diff" id="added">+ for( int i = 0; i<<span id="addedchars">10</span>; ++i ) </pre><pre class="diff" id="context"> { Fish *f = new Fish; f->setRenderNode( Data::renderNodes["fish"]->deepClone() ); </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FeederState.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FeederState.h?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></small></div> <pre class="diff"><small id="info">diff -u -r1.7 -r1.8 --- FeederState.h 6 Dec 2004 08:53:20 -0000 1.7 +++ FeederState.h 15 Dec 2004 00:56:57 -0000 1.8 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: FeederState.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 08:53:20 $ - * Version: $Revision: 1.7 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.8 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -64,3 +64,4 @@ </small></pre><pre class="diff" id="context"> #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Fish.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h.diff?r1=1.10&r2=1.11">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Fish.h?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a></small></div> <pre class="diff"><small id="info">diff -u -r1.10 -r1.11 --- Fish.h 10 Dec 2004 02:30:58 -0000 1.10 +++ Fish.h 15 Dec 2004 00:56:57 -0000 1.11 @@ -165,3 +165,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file5" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FishFlokk.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp.diff?r1=1.5&r2=1.6">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a></small></div> <pre class="diff"><small id="info">diff -u -r1.5 -r1.6 --- FishFlokk.cpp 13 Dec 2004 19:52:31 -0000 1.5 +++ FishFlokk.cpp 15 Dec 2004 00:56:57 -0000 1.6 @@ -8,7 +8,7 @@ </small></pre><pre class="diff" id="context"> { FishFlokk::FishFlokk() { </pre><pre class="diff" id="removed">- flokk::MotionSolver * ms = new flokk::MotionSolver( <span id="removedchars">4,4,4</span> ); </pre><pre class="diff" id="added">+ flokk::MotionSolver * ms = new flokk::MotionSolver( <span id="addedchars">5,5,5</span> ); </pre><pre class="diff" id="context"> flokk::Domain * d = new flokk::Domain; d->addPositiveBound( new flokk::Sphere(8) ); ms->setDomain( d ); </pre></div> <hr /><a name="file6" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FishFlokk.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- FishFlokk.h 10 Dec 2004 02:30:58 -0000 1.3 +++ FishFlokk.h 15 Dec 2004 00:56:57 -0000 1.4 @@ -19,3 +19,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file7" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FishState.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishState.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- FishState.h 5 Dec 2004 04:20:49 -0000 1.3 +++ FishState.h 15 Dec 2004 00:56:57 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: FishState.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/05 04:20:49 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -51,3 +51,4 @@ </small></pre><pre class="diff" id="context"> #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file8" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>HungryProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/HungryProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- HungryProblem.h 10 Dec 2004 02:30:58 -0000 1.3 +++ HungryProblem.h 15 Dec 2004 00:56:57 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: HungryProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 02:30:58 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -58,3 +58,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file9" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Includes.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Includes.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Includes.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Includes.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- Includes.h 5 Dec 2004 04:20:49 -0000 1.3 +++ Includes.h 15 Dec 2004 00:56:57 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Includes.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/05 04:20:49 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -41,3 +41,4 @@ </small></pre><pre class="diff" id="context"> #include <map> #include <string> #include <iostream> </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file10" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>InitState.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/InitState.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- InitState.h 5 Dec 2004 04:20:49 -0000 1.3 +++ InitState.h 15 Dec 2004 00:56:57 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: InitState.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/05 04:20:49 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -51,3 +51,4 @@ </small></pre><pre class="diff" id="context"> #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file11" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>MoveProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/MoveProblem.h?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- MoveProblem.h 6 Dec 2004 08:53:20 -0000 1.3 +++ MoveProblem.h 15 Dec 2004 00:56:57 -0000 1.4 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: MoveProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 08:53:20 $ - * Version: $Revision: 1.3 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.4 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -60,3 +60,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file12" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>Random.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/Random.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- Random.h 6 Dec 2004 09:51:29 -0000 1.1 +++ Random.h 15 Dec 2004 00:56:57 -0000 1.2 @@ -12,3 +12,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file13" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>RandomMoveProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/RandomMoveProblem.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></small></div> <pre class="diff"><small id="info">diff -u -r1.6 -r1.7 --- RandomMoveProblem.h 10 Dec 2004 02:30:58 -0000 1.6 +++ RandomMoveProblem.h 15 Dec 2004 00:56:57 -0000 1.7 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: RandomMoveProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 02:30:58 $ - * Version: $Revision: 1.6 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/15 00:56:57 $ + * Version: $Revision: 1.7 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -58,3 +58,4 @@ </small></pre><pre class="diff" id="context"> } #endif </pre><pre class="diff" id="added">+ </pre></div> <hr /><a name="file14" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>SharedMemoryManager.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- SharedMemoryManager.cpp 10 Dec 2004 02:30:58 -0000 1.1 +++ SharedMemoryManager.cpp 15 Dec 2004 00:56:57 -0000 1.2 @@ -1,37 +1,38 @@ </small></pre><pre class="diff" id="removed">-#include "SharedMemoryManager.h" - -namespace fish -{ - SharedMemoryManager * SharedMemoryManager::mSelf = 0; - SharedMemoryManager::SharedMemoryManager() - { - } - - SharedMemoryManager::~SharedMemoryManager() - { - freeMemory(); - } - - SharedMemoryManager & - SharedMemoryManager::instance() - { - if( mSelf == 0 ) mSelf = new SharedMemoryManager; - return *mSelf; - } - - void - SharedMemoryManager::queueDeletion( void * ptr ) - { - mDoomed.push_back( ptr ); - } - - void - SharedMemoryManager::freeMemory() - { - for( size_t i = 0; i<mDoomed.size(); ++i ) - { - delete mDoomed[i]; - } - mDoomed.clear(); - } -} </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre><pre class="diff" id="added">+#include "SharedMemoryManager.h" + +namespace fish +{ + SharedMemoryManager * SharedMemoryManager::mSelf = 0; + SharedMemoryManager::SharedMemoryManager() + { + } + + SharedMemoryManager::~SharedMemoryManager() + { + freeMemory(); + } + + SharedMemoryManager & + SharedMemoryManager::instance() + { + if( mSelf == 0 ) mSelf = new SharedMemoryManager; + return *mSelf; + } + + void + SharedMemoryManager::queueDeletion( void * ptr ) + { + mDoomed.push_back( ptr ); + } + + void + SharedMemoryManager::freeMemory() + { + for( size_t i = 0; i<mDoomed.size(); ++i ) + { + delete mDoomed[i]; + } + mDoomed.clear(); + } +} + </pre></div> <hr /><a name="file15" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>SharedMemoryManager.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedMemoryManager.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- SharedMemoryManager.h 10 Dec 2004 02:30:58 -0000 1.1 +++ SharedMemoryManager.h 15 Dec 2004 00:56:57 -0000 1.2 @@ -1,34 +1,35 @@ </small></pre><pre class="diff" id="removed">-#ifndef FISH_SHARED_MEM_MANAGER_H -#define FISH_SHARED_MEM_MANAGER_H - -#include "SmartPointer.h" -#include <vector> -#include <iostream> - -namespace fish -{ - /// This class manages memory for the SharedPointer class. - /// Deletions get queued here from the SharedPointer::destroy() function, - /// and when freeMemory is called, the queue is emptied and the dynamic - /// memory freed. - class SharedMemoryManager - { - private: - std::vector< void * > mDoomed; - friend class SmartPointer<SharedMemoryManager>; - SharedMemoryManager(); - - ~SharedMemoryManager(); - - static SharedMemoryManager *mSelf; - - public: - static SharedMemoryManager & instance(); - - void queueDeletion( void * ptr ); - - void freeMemory(); - }; -} - -#endif </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre><pre class="diff" id="added">+#ifndef FISH_SHARED_MEM_MANAGER_H +#define FISH_SHARED_MEM_MANAGER_H + +#include "SmartPointer.h" +#include <vector> +#include <iostream> + +namespace fish +{ + /// This class manages memory for the SharedPointer class. + /// Deletions get queued here from the SharedPointer::destroy() function, + /// and when freeMemory is called, the queue is emptied and the dynamic + /// memory freed. + class SharedMemoryManager + { + private: + std::vector< void * > mDoomed; + friend class SmartPointer<SharedMemoryManager>; + SharedMemoryManager(); + + ~SharedMemoryManager(); + + static SharedMemoryManager *mSelf; + + public: + static SharedMemoryManager & instance(); + + void queueDeletion( void * ptr ); + + void freeMemory(); + }; +} + +#endif + </pre></div> <hr /><a name="file16" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>SharedPointer.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SharedPointer.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- SharedPointer.h 10 Dec 2004 02:30:58 -0000 1.1 +++ SharedPointer.h 15 Dec 2004 00:56:57 -0000 1.2 @@ -1,140 +1,140 @@ </small></pre><pre class="diff" id="removed">-#ifndef FISH_SHARED_POINTER_H -#define FISH_SHARED_POINTER_H - -#include "SmartPointer.h" -#include "SharedMemoryManager.h" - -namespace fish -{ - /// This is a non-reference counted pointer class with a destroy function. - /// What makes it useful is that when one instance of a shared pointer is destroyed, - /// all other instances will have the internal data set to NULL as well, and everyone - /// instantly knows if the contained memory has been released. - /// This class is coupled with the SharedMemoryManager that does the actual dynamic - /// memory freeing. - - //TODO: should SharedMemoryManager handle dynamic allocation as well? - //TODO: should this class instead be reference counted so the dynamic memory gets freed - // automatically when all shared pointers go out of scope? - - template< class T > class SharedPointer - { - private: - typedef SmartPointer<T *> Tpptr; - Tpptr mPtr; - - public: - inline SharedPointer( T* pPtr = 0 ) - { - mPtr = Tpptr( new T* ); - *mPtr = pPtr; - } - - /// lame, for forceCast only - inline SharedPointer( Tpptr ptr ) - { - mPtr = ptr; - } - - inline SharedPointer( const SharedPointer<T>& pOther ) - { - mPtr = pOther.mPtr; - } - - inline ~SharedPointer( void ) - { - } - - /// destroys the data, sets the pointer null and keeps this object alive still - inline void destroy() - { - if( *mPtr ) - { - SharedMemoryManager::instance().queueDeletion( (void *)(*mPtr) ); - } - *mPtr = 0; - } - - inline void makeNull() - { - *mPtr = 0; - } - - // assignment operator, same as above - // but handle our previous data first - inline SharedPointer<T>& operator = ( const SharedPointer<T>& pOther ) - { - mPtr = pOther.mPtr; - return *this; - } - - inline bool operator == ( const SharedPointer<T>& pOther )const - { - return pOther.mPtr == mPtr; - } - - inline bool operator ! ( void )const - { - return *mPtr == NULL; - } - - inline T* get( void ) - { - return *mPtr; - } - - inline const T* get( void )const - { - return *mPtr; - } - - inline T& operator * ( void ) - { - return **mPtr; - } - - inline const T& operator * ( void )const - { - return **mPtr; - } - - inline T* operator -> ( void ) - { - return *mPtr; - } - - inline const T* operator -> ( void )const - { - return *mPtr; - } - - /// pointer type cast - inline operator T* ( void ) - { - return *mPtr; - } - - /// pointer type cast - inline operator const T* ( void )const - { - return *mPtr; - } - - /// forces a cast to a different pointer type while maintaining reference count - template <class TARGET> inline SharedPointer<TARGET> forceCast()const - { - return SharedPointer<TARGET>( mPtr.forceCast<TARGET*>() ); - } - - /// forces a cast to a different pointer type while maintaining reference count - template <class TARGET> inline SharedPointer<TARGET> dynamicCast()const - { - const TARGET * ptr = dynamic_cast<const TARGET *>( get() ); - if( !ptr ) return SharedPointer<TARGET>(); - return forceCast<TARGET>(); - } - }; -} - -#endif - </pre><pre class="diff" id="added">+#ifndef FISH_SHARED_POINTER_H +#define FISH_SHARED_POINTER_H + +#include "SmartPointer.h" +#include "SharedMemoryManager.h" + +namespace fish +{ + /// This is a non-reference counted pointer class with a destroy function. + /// What makes it useful is that when one instance of a shared pointer is destroyed, + /// all other instances will have the internal data set to NULL as well, and everyone + /// instantly knows if the contained memory has been released. + /// This class is coupled with the SharedMemoryManager that does the actual dynamic + /// memory freeing. + <a name="task1" />+ //<span class="task">TODO</span>: should SharedMemoryManager handle dynamic allocation as well? <a name="task2" />+ //<span class="task">TODO</span>: should this class instead be reference counted so the dynamic memory gets freed + // automatically when all shared pointers go out of scope? + + template< class T > class SharedPointer + { + private: + typedef SmartPointer<T *> Tpptr; + Tpptr mPtr; + + public: + inline SharedPointer( T* pPtr = 0 ) + { + mPtr = Tpptr( new T* ); + *mPtr = pPtr; + } + + /// lame, for forceCast only + inline SharedPointer( Tpptr ptr ) + { + mPtr = ptr; + } + + inline SharedPointer( const SharedPointer<T>& pOther ) + { + mPtr = pOther.mPtr; + } + + inline ~SharedPointer( void ) + { + } + + /// destroys the data, sets the pointer null and keeps this object alive still + inline void destroy() + { + if( *mPtr ) + { + SharedMemoryManager::instance().queueDeletion( (void *)(*mPtr) ); + } + *mPtr = 0; + } + + inline void makeNull() + { + *mPtr = 0; + } + + // assignment operator, same as above + // but handle our previous data first + inline SharedPointer<T>& operator = ( const SharedPointer<T>& pOther ) + { + mPtr = pOther.mPtr; + return *this; + } + + inline bool operator == ( const SharedPointer<T>& pOther )const + { + return pOther.mPtr == mPtr; + } + + inline bool operator ! ( void )const + { + return *mPtr == NULL; + } + + inline T* get( void ) + { + return *mPtr; + } + + inline const T* get( void )const + { + return *mPtr; + } + + inline T& operator * ( void ) + { + return **mPtr; + } + + inline const T& operator * ( void )const + { + return **mPtr; + } + + inline T* operator -> ( void ) + { + return *mPtr; + } + + inline const T* operator -> ( void )const + { + return *mPtr; + } + + /// pointer type cast + inline operator T* ( void ) + { + return *mPtr; + } + + /// pointer type cast + inline operator const T* ( void )const + { + return *mPtr; + } + + /// forces a cast to a different pointer type while maintaining reference count + template <class TARGET> inline SharedPointer<TARGET> forceCast()const + { + return SharedPointer<TARGET>( mPtr.forceCast<TARGET*>() ); + } + + /// forces a cast to a different pointer type while maintaining reference count + template <class TARGET> inline SharedPointer<TARGET> dynamicCast()const + { + const TARGET * ptr = dynamic_cast<const TARGET *>( get() ); + if( !ptr ) return SharedPointer<TARGET>(); + return forceCast<TARGET>(); + } + }; +} + +#endif + </pre></div> <hr /><a name="file17" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>SmartPointer.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/SmartPointer.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- SmartPointer.h 10 Dec 2004 02:30:58 -0000 1.1 +++ SmartPointer.h 15 Dec 2004 00:56:57 -0000 1.2 @@ -1,163 +1,164 @@ </small></pre><pre class="diff" id="removed">-#ifndef FISH_SMART_POINTER_H -#define FISH_SMART_POINTER_H - - -#include "Includes.h" - -namespace fish -{ - /// Your basic reference counted smart pointer - template< typename T > - class SmartPointer - { - public: - // constructor. Init the ptr and - // the count value - inline SmartPointer( T* pPtr = 0 ) : - mPtr( pPtr ) - { - mCount = new int; - *mCount = 1; - } - - /** - * this is really ghetto, for forceCast only, since - * templated classes cannot get each other's private - * data and we need to copy over the pointer to the counter - **/ - inline SmartPointer( T* pPtr, int* count ) : - mPtr( pPtr ), - mCount( count ) - { - ++(*mCount); - } - - // Copy constructor. Copy the data - // over and increment. - inline SmartPointer( const SmartPointer<T>& pOther ) : - mPtr( pOther.mPtr ), - mCount( pOther.mCount ) - { - ++(*mCount); - } - - // destructor. Cleanup. - inline ~SmartPointer( void ) - { - if ( mCount != 0 ) - { - cleanup(); - - // set our count ptr to null so we won't mess - // with it if we're not the last ptr - mCount = 0; - } - } - - // assignment operator, same as above - // but handle our previous data first - inline SmartPointer<T>& operator = ( const SmartPointer<T>& pOther ) - { - cleanup(); - - mCount = pOther.mCount; - mPtr = pOther.mPtr; - - ++(*mCount); - - return *this; - } - - inline bool operator == ( const SmartPointer<T>& pOther )const - { - return pOther.mPtr == mPtr; - } - - inline bool operator ! ( void )const - { - return mPtr == NULL; - } - - inline T* get( void ) - { - return mPtr; - } - - inline const T* get( void )const - { - return mPtr; - } - - inline T& operator * ( void ) - { - return *mPtr; - } - - inline const T& operator * ( void )const - { - return *mPtr; - } - - inline T* operator -> ( void ) - { - return mPtr; - } - - inline const T* operator -> ( void )const - { - return mPtr; - } - - /// see how many people reference this pointer - inline int references( void ) - { - return *mCount; - } - - /// pointer type cast - inline operator T* ( void ) - { - return mPtr; - } - - /// pointer type cast - inline operator const T* ( void )const - { - return mPtr; - } - - /// forces a cast to a different pointer type while maintaining reference count - template <class TARGET> inline SmartPointer<TARGET> forceCast()const - { - return SmartPointer<TARGET>((TARGET *)mPtr,mCount); - } - - /// dynamic a cast to a different pointer type while maintaining reference count - template <class TARGET> inline SmartPointer<TARGET> dynamicCast()const - { - TARGET *ptr = dynamic_cast<TARGET *>(mPtr); - if( !ptr ) return SmartPointer<TARGET>(); - return SmartPointer<TARGET>( ptr, mCount ); - } - - - protected: - /// free our previous data - inline void cleanup( void ) - { - --(*mCount); - if ( *mCount < 1 ) - { - delete mCount; - if ( mPtr != 0 ) - delete mPtr; - } - } - - T* mPtr; - int* mCount; - }; -} - - -#endif </pre><pre class="diff" id="added">+#ifndef FISH_SMART_POINTER_H +#define FISH_SMART_POINTER_H + + +#include "Includes.h" + +namespace fish +{ + /// Your basic reference counted smart pointer + template< typename T > + class SmartPointer + { + public: + // constructor. Init the ptr and + // the count value + inline SmartPointer( T* pPtr = 0 ) : + mPtr( pPtr ) + { + mCount = new int; + *mCount = 1; + } + + /** + * this is really ghetto, for forceCast only, since + * templated classes cannot get each other's private + * data and we need to copy over the pointer to the counter + **/ + inline SmartPointer( T* pPtr, int* count ) : + mPtr( pPtr ), + mCount( count ) + { + ++(*mCount); + } + + // Copy constructor. Copy the data + // over and increment. + inline SmartPointer( const SmartPointer<T>& pOther ) : + mPtr( pOther.mPtr ), + mCount( pOther.mCount ) + { + ++(*mCount); + } + + // destructor. Cleanup. + inline ~SmartPointer( void ) + { + if ( mCount != 0 ) + { + cleanup(); + + // set our count ptr to null so we won't mess + // with it if we're not the last ptr + mCount = 0; + } + } + + // assignment operator, same as above + // but handle our previous data first + inline SmartPointer<T>& operator = ( const SmartPointer<T>& pOther ) + { + cleanup(); + + mCount = pOther.mCount; + mPtr = pOther.mPtr; + + ++(*mCount); + + return *this; + } + + inline bool operator == ( const SmartPointer<T>& pOther )const + { + return pOther.mPtr == mPtr; + } + + inline bool operator ! ( void )const + { + return mPtr == NULL; + } + + inline T* get( void ) + { + return mPtr; + } + + inline const T* get( void )const + { + return mPtr; + } + + inline T& operator * ( void ) + { + return *mPtr; + } + + inline const T& operator * ( void )const + { + return *mPtr; + } + + inline T* operator -> ( void ) + { + return mPtr; + } + + inline const T* operator -> ( void )const + { + return mPtr; + } + + /// see how many people reference this pointer + inline int references( void ) + { + return *mCount; + } + + /// pointer type cast + inline operator T* ( void ) + { + return mPtr; + } + + /// pointer type cast + inline operator const T* ( void )const + { + return mPtr; + } + + /// forces a cast to a different pointer type while maintaining reference count + template <class TARGET> inline SmartPointer<TARGET> forceCast()const + { + return SmartPointer<TARGET>((TARGET *)mPtr,mCount); + } + + /// dynamic a cast to a different pointer type while maintaining reference count + template <class TARGET> inline SmartPointer<TARGET> dynamicCast()const + { + TARGET *ptr = dynamic_cast<TARGET *>(mPtr); + if( !ptr ) return SmartPointer<TARGET>(); + return SmartPointer<TARGET>( ptr, mCount ); + } + + + protected: + /// free our previous data + inline void cleanup( void ) + { + --(*mCount); + if ( *mCount < 1 ) + { + delete mCount; + if ( mPtr != 0 ) + delete mPtr; + } + } + + T* mPtr; + int* mCount; + }; +} + + +#endif + </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-13 22:17:29
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/src/flokk</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">MotionSolver.cpp</a></tt></td><td align="right" id="added">+32</td><td align="right" id="removed">-34</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.20&content-type=text/vnd.viewcvs-markup">1.20</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.20&r2=1.21">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.21&content-type=text/vnd.viewcvs-markup">1.21</a></td></tr> </table> <pre class="comment"> Found the problem! No more crashes.... With 10 agents in the environment (Fishbowl demo) with 4 divisions per axis I usually was finding about 7-11 conflicts. </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>MotionSolver.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.20&content-type=text/vnd.viewcvs-markup">1.20</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.20&r2=1.21">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.21&content-type=text/vnd.viewcvs-markup">1.21</a></small></div> <pre class="diff"><small id="info">diff -u -r1.20 -r1.21 --- MotionSolver.cpp 13 Dec 2004 18:06:47 -0000 1.20 +++ MotionSolver.cpp 13 Dec 2004 22:17:21 -0000 1.21 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: MotionSolver.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/13 18:06:47 $ - * Version: $Revision: 1.20 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/13 22:17:21 $ + * Version: $Revision: 1.21 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -31,6 +31,7 @@ </small></pre><pre class="diff" id="context"> */ #include <flokk/MotionSolver.h> #include <math.h> </pre><pre class="diff" id="added">+#include <map> </pre><pre class="diff" id="context"> namespace flokk { </pre><pre class="diff"><small id="info">@@ -82,13 +83,13 @@ </small></pre><pre class="diff" id="context"> void MotionSolver::solve( float dt ) { </pre><pre class="diff" id="removed">- std::cout << 1 << std::endl; </pre><pre class="diff" id="added">+ <span id="addedchars">//</span>std::cout << 1 << std::endl; </pre><pre class="diff" id="context"> int spanX = 0; int spanY = 0; int spanZ = 0; int finalPositions[mMovements.size()*6]; </pre><pre class="diff" id="removed">- std::cout << 2 << std::endl; </pre><pre class="diff" id="added">+ //std::cout << "positions available: " << mXDivs*mYDivs*mZDivs << std::endl; </pre><pre class="diff" id="context"> for ( unsigned int i = 0; i<mMovements.size(); ++i ) </pre><pre class="diff"><small id="info">@@ -174,7 +175,7 @@ </small></pre><pre class="diff" id="context"> if ( !(min[0]+mOffSetx <=0) ) { xMinPos = (int)(floor((min[0] + mOffSetx) / mXPerDiv)); </pre><pre class="diff" id="removed">- if ( xMinPos > mXDivs ) </pre><pre class="diff" id="added">+ if ( xMinPos ><span id="addedchars">=</span> mXDivs ) </pre><pre class="diff" id="context"> { xMinPos = mXDivs-1; } </pre><pre class="diff"><small id="info">@@ -182,7 +183,7 @@ </small></pre><pre class="diff" id="context"> if ( !(min[1]+ mOffSety <=0) ) { yMinPos = (int)(floor((min[1] + mOffSety) / mYPerDiv)); </pre><pre class="diff" id="removed">- if ( yMinPos > mYDivs ) </pre><pre class="diff" id="added">+ if ( yMinPos ><span id="addedchars">=</span> mYDivs ) </pre><pre class="diff" id="context"> { yMinPos = mYDivs -1; } </pre><pre class="diff"><small id="info">@@ -190,7 +191,7 @@ </small></pre><pre class="diff" id="context"> if ( !(min[2]+mOffSetz <=0) ) { zMinPos = (int)(floor((min[2] + mOffSetz) / mZPerDiv)); </pre><pre class="diff" id="removed">- if ( zMinPos > mZDivs ) </pre><pre class="diff" id="added">+ if ( zMinPos ><span id="addedchars">=</span> mZDivs ) </pre><pre class="diff" id="context"> { zMinPos = mZDivs -1; } </pre><pre class="diff"><small id="info">@@ -199,7 +200,7 @@ </small></pre><pre class="diff" id="context"> if ( !(max[0]+mOffSetx <=0) ) { xMaxPos = (int)(floor((max[0] + mOffSetx) / mXPerDiv)); </pre><pre class="diff" id="removed">- if ( xMaxPos > mXDivs ) </pre><pre class="diff" id="added">+ if ( xMaxPos ><span id="addedchars">=</span> mXDivs ) </pre><pre class="diff" id="context"> { xMaxPos = mXDivs -1; } </pre><pre class="diff"><small id="info">@@ -207,7 +208,7 @@ </small></pre><pre class="diff" id="context"> if ( !(max[1]+ mOffSety <=0) ) { yMaxPos = (int)(floor((max[1] + mOffSety) / mYPerDiv)); </pre><pre class="diff" id="removed">- if ( yMaxPos > mYDivs ) </pre><pre class="diff" id="added">+ if ( yMaxPos ><span id="addedchars">=</span> mYDivs ) </pre><pre class="diff" id="context"> { yMaxPos = mYDivs -1; } </pre><pre class="diff"><small id="info">@@ -215,7 +216,7 @@ </small></pre><pre class="diff" id="context"> if ( !(max[2]+mOffSetz <=0) ) { zMaxPos = (int)(floor((max[2] + mOffSetz) / mZPerDiv)); </pre><pre class="diff" id="removed">- if ( zMaxPos > mZDivs ) </pre><pre class="diff" id="added">+ if ( zMaxPos ><span id="addedchars">=</span> mZDivs ) </pre><pre class="diff" id="context"> { zMaxPos = mZDivs -1; } </pre><pre class="diff"><small id="info">@@ -248,7 +249,7 @@ </small></pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- std::cout << 3 << std::endl; </pre><pre class="diff" id="added">+ <span id="addedchars">//</span>std::cout << 3 << std::endl; </pre><pre class="diff" id="context"> //Organize tree by the least spanned variables int xShift = 0; </pre><pre class="diff"><small id="info">@@ -313,32 +314,28 @@ </small></pre><pre class="diff" id="context"> finalPositions[i*6 + 5] = ZMaxPos; */ </pre><pre class="diff" id="removed">- //std::cout << finalPositions[0] << " " << finalPositions[1] << " " << finalPositions[2] << " " << finalPositions[3] << " " - // << finalPositions[4] << " " << finalPositions[5] << std::endl; - - //std::cout << ((finalPositions[0*6])*(xShift))+((finalPositions[0*6 + 1])*(yShift))+((finalPositions[0*6 + 2])*(zShift)) << std::endl; - //std::cout << ((finalPositions[0*6 + 3])*(xShift))+((finalPositions[0*6 + 4])*(yShift))+((finalPositions[0*6 + 5])*(zShift)) << std::endl; </pre><pre class="diff" id="added">+ //std::cout << "xyz shift: " << xShift << " " << yShift << " " << zShift << std::endl; </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- std::cout << "Start the insertion of" << mMovements.size() << std::endl; </pre><pre class="diff" id="added">+ //std::cout << "Start the insertion of " << mMovements.size() << " movements." << std::endl; </pre><pre class="diff" id="context"> // Insert the two markers into the array that is a tree for ( unsigned int i = 0; i<mMovements.size(); ++i ) { </pre><pre class="diff" id="removed">- std::cout << mTreeArray[((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift))].size() << std::endl; </pre><pre class="diff" id="added">+ //std::cout << finalPositions[i*6] << " " << finalPositions[i*6 + 1] << " " <<finalPositions[i*6 + 2]; + //std::cout << " " << finalPositions[i*6 + 3] << " " << finalPositions[i*6 + 4] << " " << finalPositions[i*6 + 5] << std::endl; + //std::cout << "pos: " << ((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift)) << " size: " + // << mTreeArray[((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift))].size() << " "; + //std::cout << " pos: " << ((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift)) << " size: " + // << mTreeArray[((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift))].size() << std::endl; </pre><pre class="diff" id="context"> mTreeArray[((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift))].push_back(i); </pre><pre class="diff" id="removed">- std::cout << mTreeArray[((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift))].size() << std::endl; </pre><pre class="diff" id="context"> mTreeArray[((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift))].push_back(i); </pre><pre class="diff" id="removed">- //std::cout << "inserted markers:" << ((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift)) - // << "," << ((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift)) << std::endl; </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- std::cout << 4 << std::endl; - </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- std::vector<MotionSolver::Conflict> conflicts; </pre><pre class="diff" id="added">+ std::map<int,int> conflicts; </pre><pre class="diff" id="context"> bool found = false; int erased = 0; // search through list and find any possible conflicts </pre><pre class="diff" id="removed">- for ( int i = mTreeArray.size()-1; i ><span id="removedchars">=</span> 0; i-- ) </pre><pre class="diff" id="added">+ for ( int i = mTreeArray.size()-1; i > 0; i-- ) </pre><pre class="diff" id="context"> { //std::cout << i << std::endl; </pre><pre class="diff"><small id="info">@@ -367,24 +364,25 @@ </small></pre><pre class="diff" id="context"> for(unsigned int l =0; l < mTreeArray[j].size(); l++) { // add in possible conflicts </pre><pre class="diff" id="removed">- Conflict c; - c.a = search_val; - c.b = mTreeArray[j][l]; - conflicts.push_back(c); </pre><pre class="diff" id="added">+ conflicts.insert(std::make_pair(search_val,mTreeArray[j][l])); </pre><pre class="diff" id="context"> } } else { </pre><pre class="diff" id="removed">- Conflict c; - c.a = search_val; - c.b = mTreeArray[j][k]; - conflicts.push_back(c); </pre><pre class="diff" id="added">+ conflicts.insert(std::make_pair(search_val, mTreeArray[j][k])); </pre><pre class="diff" id="context"> } } } } } </pre><pre class="diff" id="removed">- std::cout << 5 << std::endl; </pre><pre class="diff" id="added">+ /* + for(unsigned int i = 0; i < mTreeArray.size(); i++) + { + std::cout << i << " " << mTreeArray[i].size() << std::endl; + } + */ + + //std::cout << conflicts.size() << " conflicts" << std::endl; </pre><pre class="diff" id="context"> //Have our list of conflicts that need to be tested...... </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-13 19:52:37
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/fishbowl/src</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">FishFlokk.cpp</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> </table> <pre class="comment"> Update to newest API </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl">fishbowl</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src">src</a><br /></span> <div class="fileheader"><big><b>FishFlokk.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/fishbowl/src/FishFlokk.cpp?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></small></div> <pre class="diff"><small id="info">diff -u -r1.4 -r1.5 --- FishFlokk.cpp 10 Dec 2004 02:30:58 -0000 1.4 +++ FishFlokk.cpp 13 Dec 2004 19:52:31 -0000 1.5 @@ -10,7 +10,7 @@ </small></pre><pre class="diff" id="context"> { flokk::MotionSolver * ms = new flokk::MotionSolver( 4,4,4 ); flokk::Domain * d = new flokk::Domain; </pre><pre class="diff" id="removed">- d->addPositiveBound( new flokk::Sphere(<span id="removedchars">14</span>) ); </pre><pre class="diff" id="added">+ d->addPositiveBound( new flokk::Sphere(<span id="addedchars">8</span>) ); </pre><pre class="diff" id="context"> ms->setDomain( d ); setMotionSolver( ms ); } </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-13 18:42:41
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/src/flokk</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">MotionSolver.cpp</a></tt></td><td align="right" id="added">+86</td><td align="right" id="removed">-58</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.19&content-type=text/vnd.viewcvs-markup">1.19</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.19&r2=1.20">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.20&content-type=text/vnd.viewcvs-markup">1.20</a></td></tr> <tr class="alt"><td><tt><a href="#file2">MotionSolver.h</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.h?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.h.diff?r1=1.9&r2=1.10">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.h?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a></td></tr> <tr><td></td><td align="right" id="added">+89</td><td align="right" id="removed">-60</td><td></td></tr> </table> <small id="info">2 modified files</small><br /> <pre class="comment"> Lots of work done to motion solver....currently runs for about 30 secs and then dies horribly in a spectacular seg-fault. </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>MotionSolver.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.19&content-type=text/vnd.viewcvs-markup">1.19</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.19&r2=1.20">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.20&content-type=text/vnd.viewcvs-markup">1.20</a></small></div> <pre class="diff"><small id="info">diff -u -r1.19 -r1.20 --- MotionSolver.cpp 10 Dec 2004 06:27:55 -0000 1.19 +++ MotionSolver.cpp 13 Dec 2004 18:06:47 -0000 1.20 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: MotionSolver.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/10 06:27:55 $ - * Version: $Revision: 1.19 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/13 18:06:47 $ + * Version: $Revision: 1.20 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -82,11 +82,13 @@ </small></pre><pre class="diff" id="context"> void MotionSolver::solve( float dt ) { </pre><pre class="diff" id="added">+ std::cout << 1 << std::endl; </pre><pre class="diff" id="context"> int spanX = 0; int spanY = 0; int spanZ = 0; </pre><pre class="diff" id="removed">- - int * finalPositions = new int[mMovements.size()*6]; </pre><pre class="diff" id="added">+ + int finalPositions[mMovements.size()*6]; + std::cout << 2 << std::endl; </pre><pre class="diff" id="context"> for ( unsigned int i = 0; i<mMovements.size(); ++i ) </pre><pre class="diff"><small id="info">@@ -101,13 +103,14 @@ </small></pre><pre class="diff" id="context"> gmtl::Point3f dest = mMovements[i].desiredPos; </pre><pre class="diff" id="removed">- <span id="removedchars"> </span> /* </pre><pre class="diff" id="added">+ /* </pre><pre class="diff" id="context"> if ( mDomain && mDomain->clipToDomain( line, line ) ) { dest = line.mOrigin + line.mDir; //clip the desired position mMovements[i].owner->setDesiredPosition( dest ); </pre><pre class="diff" id="removed">- }<span id="removedchars">*/</span> </pre><pre class="diff" id="added">+ } + */ </pre><pre class="diff" id="context"> gmtl::normalize( d ); </pre><pre class="diff"><small id="info">@@ -131,31 +134,34 @@ </small></pre><pre class="diff" id="context"> { mMovements[i].owner->setPosition( mMovements[i].currentPos + d ); } </pre><pre class="diff" id="removed">- continue; </pre><pre class="diff" id="context"> //TODO: collision detection and handling with other agents //TODO: orientation lerping </pre><pre class="diff" id="removed">- gmtl::Point3f min; - gmtl::Point3f max; </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- gmtl::Point3f currMin = (mMovements[i].owner->getAABox()).getMin(); </pre><pre class="diff" id="added">+ gmtl::Point3f currMin = (mMovements[i].owner->getAABox()).getMin()<span id="addedchars"> + mMovements[i].currentPos</span>; </pre><pre class="diff" id="context"> gmtl::Point3f destMin = currMin + d; </pre><pre class="diff" id="removed">- gmtl::Point3f currMax = (mMovements[i].owner->getAABox()).getMax(); </pre><pre class="diff" id="added">+ gmtl::Point3f currMax = (mMovements[i].owner->getAABox()).getMax()<span id="addedchars"> + mMovements[i].currentPos</span>; </pre><pre class="diff" id="context"> gmtl::Point3f destMax = currMax + d; </pre><pre class="diff" id="added">+ gmtl::Point3f min = destMin; + gmtl::Point3f max = destMax; + </pre><pre class="diff" id="context"> for ( unsigned int j=0; j<3; j++ ) { </pre><pre class="diff" id="removed">- if ( currMin[i]<=destMin[i] ) min[i] = currMin[i]; - else min[i] = destMin[i]; - - if ( currMax[i]<=destMax[i] ) max[i] = currMax[i]; - else max[i] = destMax[i]; </pre><pre class="diff" id="added">+ if ( currMin[j] < min[j] ) min[j] = currMin[j]; + if ( currMax[j] < min[j] ) min[j] = currMax[j]; + if ( destMax[j] < min[j] ) min[j] = destMax[j]; + + if ( currMax[j] > max[j] ) max[j] = currMax[j]; + if ( currMin[j] > max[j] ) max[j] = currMin[j]; + if ( destMin[j] > max[j] ) max[j] = destMin[j]; </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> //PSYCHO "Dan Shipton" ALGORITHM START int xMinPos = 0; int yMinPos = 0; </pre><pre class="diff"><small id="info">@@ -167,54 +173,53 @@ </small></pre><pre class="diff" id="context"> // Find min pos to place if ( !(min[0]+mOffSetx <=0) ) { </pre><pre class="diff" id="removed">- xMinPos = (int)floor(min[0] + mOffSetx / mXDivs*mXPerDiv); </pre><pre class="diff" id="added">+ xMinPos = (int)(floor((min[0] + mOffSetx) / mXPerDiv)); </pre><pre class="diff" id="context"> if ( xMinPos > mXDivs ) { </pre><pre class="diff" id="removed">- xMinPos = mXDivs; </pre><pre class="diff" id="added">+ xMinPos = mXDivs<span id="addedchars">-1</span>; </pre><pre class="diff" id="context"> } } if ( !(min[1]+ mOffSety <=0) ) { </pre><pre class="diff" id="removed">- yMinPos = (int)floor(min[1] + mOffSety / mYDivs*mYPerDiv); </pre><pre class="diff" id="added">+ yMinPos = (int)(floor((min[1] + mOffSety) / mYPerDiv)); </pre><pre class="diff" id="context"> if ( yMinPos > mYDivs ) { </pre><pre class="diff" id="removed">- yMinPos = mYDivs; </pre><pre class="diff" id="added">+ yMinPos = mYDivs<span id="addedchars"> -1</span>; </pre><pre class="diff" id="context"> } } if ( !(min[2]+mOffSetz <=0) ) { </pre><pre class="diff" id="removed">- zMinPos = (int)floor(min[2] + mOffSetz / mZDivs*mZPerDiv); </pre><pre class="diff" id="added">+ zMinPos = (int)(floor((min[2] + mOffSetz) / mZPerDiv)); </pre><pre class="diff" id="context"> if ( zMinPos > mZDivs ) { </pre><pre class="diff" id="removed">- zMinPos = mZDivs; </pre><pre class="diff" id="added">+ zMinPos = mZDivs<span id="addedchars"> -1</span>; </pre><pre class="diff" id="context"> } } if ( !(max[0]+mOffSetx <=0) ) { </pre><pre class="diff" id="removed">- xMaxPos = (int)floor(max[0] + mOffSetx / mXDivs*mXPerDiv); </pre><pre class="diff" id="added">+ xMaxPos = (int)(floor((max[0] + mOffSetx) / mXPerDiv)); </pre><pre class="diff" id="context"> if ( xMaxPos > mXDivs ) { </pre><pre class="diff" id="removed">- xMaxPos = mXDivs; </pre><pre class="diff" id="added">+ xMaxPos = mXDivs<span id="addedchars"> -1</span>; </pre><pre class="diff" id="context"> } } if ( !(max[1]+ mOffSety <=0) ) { </pre><pre class="diff" id="removed">- yMaxPos = (int)floor(max[1] + mOffSety / mYDivs*mYPerDiv); </pre><pre class="diff" id="added">+ yMaxPos = (int)(floor((max[1] + mOffSety) / mYPerDiv)); </pre><pre class="diff" id="context"> if ( yMaxPos > mYDivs ) { </pre><pre class="diff" id="removed">- yMaxPos = mYDivs; </pre><pre class="diff" id="added">+ yMaxPos = mYDivs<span id="addedchars"> -1</span>; </pre><pre class="diff" id="context"> } } if ( !(max[2]+mOffSetz <=0) ) { </pre><pre class="diff" id="removed">- zMaxPos = (int)floor(max[2] + mOffSetz / mZDivs*mZPerDiv); </pre><pre class="diff" id="added">+ zMaxPos = (int)(floor((max[2] + mOffSetz) / mZPerDiv)); </pre><pre class="diff" id="context"> if ( zMaxPos > mZDivs ) { </pre><pre class="diff" id="removed">- zMaxPos = mZDivs; </pre><pre class="diff" id="added">+ zMaxPos = mZDivs<span id="addedchars"> -1</span>; </pre><pre class="diff" id="context"> } } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="context"> if ( xMinPos != xMaxPos ) { spanX++; </pre><pre class="diff"><small id="info">@@ -235,14 +240,15 @@ </small></pre><pre class="diff" id="context"> finalPositions[i*6 + 4] = yMaxPos; finalPositions[i*6 + 5] = zMaxPos; </pre><pre class="diff" id="added">+ + + //std::cout << "x: " << finalPositions[i*6] << " " << finalPositions[i*6 +3] << " y: " << finalPositions[i*6 +1] << " " + //<< finalPositions[i*6 +4] << " z: " << finalPositions[i*6 +2] << " " << finalPositions[i*6 +5] << std::endl << std::endl; </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- mMovements.clear(); - delete [] finalPositions; - - return; </pre><pre class="diff" id="added">+ std::cout << 3 << std::endl; </pre><pre class="diff" id="context"> //Organize tree by the least spanned variables int xShift = 0; </pre><pre class="diff"><small id="info">@@ -298,7 +304,6 @@ </small></pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="context"> /* finalPositions[i*6] = XMinPos; finalPositions[i*6 + 1] = YMinPos; </pre><pre class="diff"><small id="info">@@ -308,61 +313,84 @@ </small></pre><pre class="diff" id="context"> finalPositions[i*6 + 5] = ZMaxPos; */ </pre><pre class="diff" id="removed">- // Instert the two markers into the array that is a tree </pre><pre class="diff" id="added">+ //std::cout << finalPositions[0] << " " << finalPositions[1] << " " << finalPositions[2] << " " << finalPositions[3] << " " + // << finalPositions[4] << " " << finalPositions[5] << std::endl; + + //std::cout << ((finalPositions[0*6])*(xShift))+((finalPositions[0*6 + 1])*(yShift))+((finalPositions[0*6 + 2])*(zShift)) << std::endl; + //std::cout << ((finalPositions[0*6 + 3])*(xShift))+((finalPositions[0*6 + 4])*(yShift))+((finalPositions[0*6 + 5])*(zShift)) << std::endl; + + std::cout << "Start the insertion of" << mMovements.size() << std::endl; + // Insert the two markers into the array that is a tree </pre><pre class="diff" id="context"> for ( unsigned int i = 0; i<mMovements.size(); ++i ) { </pre><pre class="diff" id="added">+ std::cout << mTreeArray[((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift))].size() << std::endl; </pre><pre class="diff" id="context"> mTreeArray[((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift))].push_back(i); </pre><pre class="diff" id="added">+ std::cout << mTreeArray[((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift))].size() << std::endl; </pre><pre class="diff" id="context"> mTreeArray[((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift))].push_back(i); </pre><pre class="diff" id="added">+ //std::cout << "inserted markers:" << ((finalPositions[i*6])*(xShift))+((finalPositions[i*6 + 1])*(yShift))+((finalPositions[i*6 + 2])*(zShift)) + // << "," << ((finalPositions[i*6 + 3])*(xShift))+((finalPositions[i*6 + 4])*(yShift))+((finalPositions[i*6 + 5])*(zShift)) << std::endl; </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="added">+ std::cout << 4 << std::endl; </pre><pre class="diff" id="context"> std::vector<MotionSolver::Conflict> conflicts; </pre><pre class="diff" id="removed">- std::vector<int> found; </pre><pre class="diff" id="added">+ bool found = false; + int erased = 0; </pre><pre class="diff" id="context"> // search through list and find any possible conflicts for ( int i = mTreeArray.size()-1; i >= 0; i-- ) { </pre><pre class="diff" id="added">+ //std::cout << i << std::endl; </pre><pre class="diff" id="context"> while ( !(mTreeArray[i].empty()) ) { int search_val = mTreeArray[i].back(); </pre><pre class="diff" id="added">+ found = false; </pre><pre class="diff" id="context"> mTreeArray[i].pop_back(); </pre><pre class="diff" id="added">+ erased++; </pre><pre class="diff" id="context"> //search down tree for matching value and delete it adding conflicts on the way //check to see if matching search val is in that space! // for every value that you see that is not it add it to possible conflicts // move down the array and keep searching </pre><pre class="diff" id="removed">- for(unsigned int j = 0; j < mTreeArray[i].size(); j++ ) </pre><pre class="diff" id="added">+ + for(unsigned int j = i; j>=0 && !found; j--) </pre><pre class="diff" id="context"> { </pre><pre class="diff" id="removed">- if(mTreeArray[i][j] == search_val) // found it right away </pre><pre class="diff" id="added">+ for(unsigned int k = 0; k < mTreeArray[j].size() && !found; k++ ) </pre><pre class="diff" id="context"> { </pre><pre class="diff" id="removed">- std::vector<int>::iterator itr; - itr+=j; - mTreeArray[i].erase(itr); - for(unsigned int k =0; k < mTreeArray[i].size(); k++) </pre><pre class="diff" id="added">+ if(mTreeArray[j][k] == search_val) // found it right away </pre><pre class="diff" id="context"> { </pre><pre class="diff" id="removed">- // add in possible conflicts - Conflict c; - c.a = search_val; - c.b = mTreeArray[i][k]; - conflicts.push_back(c); </pre><pre class="diff" id="added">+ std::vector<int>::iterator itr = mTreeArray[j].begin(); + itr+=k; + mTreeArray[j].erase(itr); + erased++; + found = true; + for(unsigned int l =0; l < mTreeArray[j].size(); l++) + { + // add in possible conflicts + Conflict c; + c.a = search_val; + c.b = mTreeArray[j][l]; + conflicts.push_back(c); + } + } + else + { + Conflict c; + c.a = search_val; + c.b = mTreeArray[j][k]; + conflicts.push_back(c); </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">- break; - } - else - { - Conflict c; - c.a = search_val; - c.b = mTreeArray[i][j]; - conflicts.push_back(c); </pre><pre class="diff" id="context"> } } } } </pre><pre class="diff" id="removed">- //Have our list of conflicts that need to be tested...... </pre><pre class="diff" id="added">+ std::cout << 5 << std::endl; </pre><pre class="diff" id="context"> </pre><pre class="diff" id="added">+ //Have our list of conflicts that need to be tested...... </pre><pre class="diff" id="context"> mMovements.clear(); </pre><pre class="diff" id="removed">- delete [] finalPositions; </pre><pre class="diff" id="context"> } </pre><pre class="diff" id="removed">-} </pre><pre class="diff" id="added">+ + +} //end namespace flokk </pre><pre class="diff" id="context"> </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>MotionSolver.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.h?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.h.diff?r1=1.9&r2=1.10">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.h?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a></small></div> <pre class="diff"><small id="info">diff -u -r1.9 -r1.10 --- MotionSolver.h 6 Dec 2004 05:57:26 -0000 1.9 +++ MotionSolver.h 13 Dec 2004 18:06:47 -0000 1.10 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: MotionSolver.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 05:57:26 $ - * Version: $Revision: 1.9 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/13 18:06:47 $ + * Version: $Revision: 1.10 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -82,6 +82,7 @@ </small></pre><pre class="diff" id="context"> float mXPerDiv; float mYPerDiv; float mZPerDiv; </pre><pre class="diff" id="added">+ int * finalPositions; </pre><pre class="diff" id="context"> Domain * mDomain; /*< Area agents are allowed to move within. Null if domain is unlimited.*/ }; </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Daniel E. S. <dsh...@us...> - 2004-12-13 18:36:48
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/samples/simple</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">FishFlokk.cpp</a></tt></td><td align="right" id="added">+4</td><td align="right" id="removed">-3</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt><a href="#file2">RandomMoveProblem.cpp</a></tt></td><td align="right" id="added">+13</td><td align="right" id="removed">-13</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td><tt><a href="#file3">RandomMoveProblem.h</a></tt></td><td align="right" id="added">+2</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt><a href="#file4">main.cpp</a></tt></td><td align="right" id="added">+4</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td></td><td align="right" id="added">+23</td><td align="right" id="removed">-22</td><td></td></tr> </table> <small id="info">4 modified files</small><br /> <pre class="comment"> updates to match API </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>FishFlokk.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/FishFlokk.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- FishFlokk.cpp 8 Dec 2004 05:14:12 -0000 1.1 +++ FishFlokk.cpp 13 Dec 2004 18:07:27 -0000 1.2 @@ -6,14 +6,15 @@ </small></pre><pre class="diff" id="context"> namespace fish { FishFlokk::FishFlokk() </pre><pre class="diff" id="removed">- { </pre><pre class="diff" id="added">+ { + std::cout << "when am I getting callled?????" << std::endl; </pre><pre class="diff" id="context"> flokk::MotionSolver * ms = new flokk::MotionSolver( 4,4,4 ); flokk::Domain * d = new flokk::Domain; </pre><pre class="diff" id="removed">- d->addPositiveBound( new flokk::Sphere(<span id="removedchars">14</span>) ); </pre><pre class="diff" id="added">+ d->addPositiveBound( new flokk::Sphere(<span id="addedchars">8</span>) ); </pre><pre class="diff" id="context"> ms->setDomain( d ); setMotionSolver( ms ); } </pre><pre class="diff" id="removed">- </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> void FishFlokk::think( float dt ) { MotionFlokk::think( dt ); </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>RandomMoveProblem.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- RandomMoveProblem.cpp 8 Dec 2004 05:14:12 -0000 1.1 +++ RandomMoveProblem.cpp 13 Dec 2004 18:07:37 -0000 1.2 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: RandomMoveProblem.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/08 05:14:12 $ - * Version: $Revision: 1.1 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/13 18:07:37 $ + * Version: $Revision: 1.2 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -30,15 +30,15 @@ </small></pre><pre class="diff" id="context"> * */ </pre><pre class="diff" id="added">+#include <cstdlib> </pre><pre class="diff" id="context"> #include <gmtl/gmtl.h> </pre><pre class="diff" id="removed">-#include <iostream> </pre><pre class="diff" id="context"> #include "RandomMoveProblem.h" #include <flokk/LocationalAgent.h> #include "Random.h" namespace fish { RandomMoveProblem::RandomMoveProblem( ) { </pre><pre class="diff" id="removed">- mTimeLeft = randomf(<span id="removedchars">10,15</span>); </pre><pre class="diff" id="added">+ mTimeLeft = randomf(<span id="addedchars">3,6</span>); </pre><pre class="diff" id="context"> mHasSetPosition = false; } </pre><pre class="diff"><small id="info">@@ -56,8 +56,8 @@ </small></pre><pre class="diff" id="context"> if( !mHasSetPosition ) { flokk::LocationalAgent * la = (flokk::LocationalAgent *)mAgent;//.dynamic_cast< flokk::LocationalAgent *>( mAgent ); </pre><pre class="diff" id="removed">- la->setDesiredPosition( (gmtl::Point3f)la->getPosition() + genRandomVector() ); - la->setDesiredSpeed( la->getMaxSpeed() ); </pre><pre class="diff" id="added">+ la->setDesiredPosition( genRandomVector() ); + la->setDesiredSpeed( randomf(0.25, 1.5) ); </pre><pre class="diff" id="context"> mHasSetPosition = true; } </pre><pre class="diff"><small id="info">@@ -65,7 +65,7 @@ </small></pre><pre class="diff" id="context"> } void RandomMoveProblem::reset( ) { </pre><pre class="diff" id="removed">- mTimeLeft = randomf(<span id="removedchars">8,14</span>); </pre><pre class="diff" id="added">+ mTimeLeft = randomf(<span id="addedchars">3,6</span>); </pre><pre class="diff" id="context"> mHasSetPosition = false; } </pre><pre class="diff"><small id="info">@@ -73,12 +73,12 @@ </small></pre><pre class="diff" id="context"> return mTimeLeft <= 0; } </pre><pre class="diff" id="removed">- gmtl::Vec3f RandomMoveProblem::genRandomVector() { - gmtl::Vec3f randVec; - - for( unsigned int i = 0; i < 3; i++ ){ - randVec[i] = randomf(-10,10); - } </pre><pre class="diff" id="added">+ gmtl::Vec3f RandomMoveProblem::genRandomVector() + { + gmtl::Vec3f randVec; + randVec[0] = randomf(-9,9); + randVec[1] = randomf(-9,9); + randVec[2] = randomf(-9,9); </pre><pre class="diff" id="context"> return randVec; } </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>RandomMoveProblem.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/RandomMoveProblem.h?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- RandomMoveProblem.h 8 Dec 2004 05:14:12 -0000 1.1 +++ RandomMoveProblem.h 13 Dec 2004 18:07:37 -0000 1.2 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: RandomMoveProblem.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/08 05:14:12 $ - * Version: $Revision: 1.1 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/13 18:07:37 $ + * Version: $Revision: 1.2 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples">samples</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple">simple</a><br /></span> <div class="fileheader"><big><b>main.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/samples/simple/main.cpp?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- main.cpp 8 Dec 2004 23:23:16 -0000 1.2 +++ main.cpp 13 Dec 2004 18:07:37 -0000 1.3 @@ -7,6 +7,8 @@ </small></pre><pre class="diff" id="context"> int main(void) { fish::FishFlokk* mFlock = new fish::FishFlokk; </pre><pre class="diff" id="added">+ for(unsigned int i=0; i < 7; i++) + { </pre><pre class="diff" id="context"> flokk::LocationalAgent* mAgent = new flokk::LocationalAgent(); mAgent->setMaxSpeed( 10.0f ); mAgent->setDesiredPosition( gmtl::Point3f(fish::randomf(0,5) , fish::randomf(3,6) , fish::randomf(-5,-1)) ); </pre><pre class="diff"><small id="info">@@ -16,13 +18,11 @@ </small></pre><pre class="diff" id="context"> mAgent->setDefaultProblem( prob ); mFlock->addAgent(mAgent); </pre><pre class="diff" id="added">+ } </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">- std::cout << mAgent->getPosition() << std::endl; - - for(unsigned int i = 0; i <10000; i++) </pre><pre class="diff" id="added">+ while(1!=0) </pre><pre class="diff" id="context"> { mFlock->think(0.013f); </pre><pre class="diff" id="removed">- std::cout << mAgent->getPosition() << std::endl; </pre><pre class="diff" id="context"> } return 0; </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-11 17:01:16
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt>html/flokk_docs/<a href="#file1"><span id="added">WARNINGS</span></a></tt></td><td align="right" id="added">+6</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/WARNINGS?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file2"><span id="added">flokk-docs.css</span></a></tt></td><td align="right" id="added">+30</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/flokk-docs.css?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file3"><span id="added">flokk-docs.html</span></a></tt></td><td align="right" id="added">+149</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/flokk-docs.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file4"><span id="added">index.html</span></a></tt></td><td align="right" id="added">+149</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/index.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file5"><span id="added">internals.pl</span></a></tt></td><td align="right" id="added">+74</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/internals.pl?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file6"><span id="added">labels.pl</span></a></tt></td><td align="right" id="added">+117</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/labels.pl?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file7"><span id="added">node1.html</span></a></tt></td><td align="right" id="added">+118</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node1.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file8"><span id="added">node10.html</span></a></tt></td><td align="right" id="added">+82</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node10.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file9"><span id="added">node11.html</span></a></tt></td><td align="right" id="added">+75</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node11.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file10"><span id="added">node12.html</span></a></tt></td><td align="right" id="added">+75</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node12.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file11"><span id="added">node13.html</span></a></tt></td><td align="right" id="added">+77</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node13.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file12"><span id="added">node14.html</span></a></tt></td><td align="right" id="added">+83</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node14.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file13"><span id="added">node15.html</span></a></tt></td><td align="right" id="added">+124</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node15.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file14"><span id="added">node16.html</span></a></tt></td><td align="right" id="added">+78</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node16.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file15"><span id="added">node17.html</span></a></tt></td><td align="right" id="added">+84</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node17.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file16"><span id="added">node18.html</span></a></tt></td><td align="right" id="added">+94</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node18.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file17"><span id="added">node19.html</span></a></tt></td><td align="right" id="added">+80</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node19.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file18"><span id="added">node2.html</span></a></tt></td><td align="right" id="added">+85</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node2.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file19"><span id="added">node20.html</span></a></tt></td><td align="right" id="added">+124</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node20.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file20"><span id="added">node21.html</span></a></tt></td><td align="right" id="added">+121</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node21.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file21"><span id="added">node22.html</span></a></tt></td><td align="right" id="added">+77</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node22.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file22"><span id="added">node23.html</span></a></tt></td><td align="right" id="added">+77</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node23.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file23"><span id="added">node3.html</span></a></tt></td><td align="right" id="added">+146</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node3.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file24"><span id="added">node4.html</span></a></tt></td><td align="right" id="added">+80</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node4.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file25"><span id="added">node5.html</span></a></tt></td><td align="right" id="added">+83</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node5.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file26"><span id="added">node6.html</span></a></tt></td><td align="right" id="added">+135</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node6.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file27"><span id="added">node7.html</span></a></tt></td><td align="right" id="added">+95</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node7.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file28"><span id="added">node8.html</span></a></tt></td><td align="right" id="added">+77</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node8.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file29"><span id="added">node9.html</span></a></tt></td><td align="right" id="added">+91</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/node9.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt>html/flokk_ref/<a href="#file30"><span id="added">Agent_8cpp-source.html</span></a></tt></td><td align="right" id="added">+113</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Agent_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file31"><span id="added">Agent_8cpp.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Agent_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file32"><span id="added">Agent_8h-source.html</span></a></tt></td><td align="right" id="added">+99</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Agent_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file33"><span id="added">Agent_8h.html</span></a></tt></td><td align="right" id="added">+26</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Agent_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file34"><span id="added">Bound_8cpp-source.html</span></a></tt></td><td align="right" id="added">+79</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Bound_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file35"><span id="added">Bound_8cpp.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Bound_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file36"><span id="added">Bound_8h-source.html</span></a></tt></td><td align="right" id="added">+80</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Bound_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file37"><span id="added">Bound_8h.html</span></a></tt></td><td align="right" id="added">+24</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Bound_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file38"><span id="added">Box_8cpp-source.html</span></a></tt></td><td align="right" id="added">+102</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Box_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file39"><span id="added">Box_8cpp.html</span></a></tt></td><td align="right" id="added">+22</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Box_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file40"><span id="added">Box_8h-source.html</span></a></tt></td><td align="right" id="added">+110</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Box_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file41"><span id="added">Box_8h.html</span></a></tt></td><td align="right" id="added">+24</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Box_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file42"><span id="added">Domain_8cpp-source.html</span></a></tt></td><td align="right" id="added">+78</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Domain_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file43"><span id="added">Domain_8cpp.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Domain_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file44"><span id="added">Domain_8h-source.html</span></a></tt></td><td align="right" id="added">+145</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Domain_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file45"><span id="added">Domain_8h.html</span></a></tt></td><td align="right" id="added">+27</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Domain_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file46"><span id="added">Flokk_8cpp-source.html</span></a></tt></td><td align="right" id="added">+70</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Flokk_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file47"><span id="added">Flokk_8cpp.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Flokk_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file48"><span id="added">Flokk_8h-source.html</span></a></tt></td><td align="right" id="added">+72</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Flokk_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file49"><span id="added">Flokk_8h.html</span></a></tt></td><td align="right" id="added">+25</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Flokk_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file50"><span id="added">IntersectionExt_8h-source.html</span></a></tt></td><td align="right" id="added">+451</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/IntersectionExt_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file51"><span id="added">IntersectionExt_8h.html</span></a></tt></td><td align="right" id="added">+1129</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/IntersectionExt_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file52"><span id="added">LocationalAgent_8cpp-source.html</span></a></tt></td><td align="right" id="added">+159</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/LocationalAgent_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file53"><span id="added">LocationalAgent_8cpp.html</span></a></tt></td><td align="right" id="added">+23</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/LocationalAgent_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file54"><span id="added">LocationalAgent_8h-source.html</span></a></tt></td><td align="right" id="added">+142</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/LocationalAgent_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file55"><span id="added">LocationalAgent_8h.html</span></a></tt></td><td align="right" id="added">+28</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/LocationalAgent_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file56"><span id="added">MotionFlokk_8cpp-source.html</span></a></tt></td><td align="right" id="added">+91</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionFlokk_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file57"><span id="added">MotionFlokk_8cpp.html</span></a></tt></td><td align="right" id="added">+22</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionFlokk_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file58"><span id="added">MotionFlokk_8h-source.html</span></a></tt></td><td align="right" id="added">+77</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionFlokk_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file59"><span id="added">MotionFlokk_8h.html</span></a></tt></td><td align="right" id="added">+26</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionFlokk_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file60"><span id="added">MotionSolver_8cpp-source.html</span></a></tt></td><td align="right" id="added">+380</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionSolver_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file61"><span id="added">MotionSolver_8cpp.html</span></a></tt></td><td align="right" id="added">+22</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionSolver_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file62"><span id="added">MotionSolver_8h-source.html</span></a></tt></td><td align="right" id="added">+90</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionSolver_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file63"><span id="added">MotionSolver_8h.html</span></a></tt></td><td align="right" id="added">+29</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/MotionSolver_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file64"><span id="added">Problem_8cpp-source.html</span></a></tt></td><td align="right" id="added">+63</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Problem_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file65"><span id="added">Problem_8cpp.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Problem_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file66"><span id="added">Problem_8h-source.html</span></a></tt></td><td align="right" id="added">+71</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Problem_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file67"><span id="added">Problem_8h.html</span></a></tt></td><td align="right" id="added">+23</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Problem_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file68"><span id="added">Sphere_8cpp-source.html</span></a></tt></td><td align="right" id="added">+85</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Sphere_8cpp-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file69"><span id="added">Sphere_8cpp.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Sphere_8cpp.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file70"><span id="added">Sphere_8h-source.html</span></a></tt></td><td align="right" id="added">+81</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Sphere_8h-source.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file71"><span id="added">Sphere_8h.html</span></a></tt></td><td align="right" id="added">+24</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/Sphere_8h.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file72"><span id="added">annotated.html</span></a></tt></td><td align="right" id="added">+26</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/annotated.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file73"><span id="added">classflokk_1_1Agent-members.html</span></a></tt></td><td align="right" id="added">+27</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Agent-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file74"><span id="added">classflokk_1_1Agent.html</span></a></tt></td><td align="right" id="added">+536</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Agent.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<span id="added">classflokk_1_1Agent.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Agent.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file76"><span id="added">classflokk_1_1Bound-members.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Bound-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file77"><span id="added">classflokk_1_1Bound.html</span></a></tt></td><td align="right" id="added">+356</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Bound.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<span id="added">classflokk_1_1Bound.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Bound.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file79"><span id="added">classflokk_1_1Box-members.html</span></a></tt></td><td align="right" id="added">+26</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Box-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file80"><span id="added">classflokk_1_1Box.html</span></a></tt></td><td align="right" id="added">+420</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Box.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<span id="added">classflokk_1_1Box.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Box.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file82"><span id="added">classflokk_1_1Domain-members.html</span></a></tt></td><td align="right" id="added">+19</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Domain-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file83"><span id="added">classflokk_1_1Domain.html</span></a></tt></td><td align="right" id="added">+319</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Domain.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file84"><span id="added">classflokk_1_1Flokk-members.html</span></a></tt></td><td align="right" id="added">+33</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Flokk-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file85"><span id="added">classflokk_1_1Flokk.html</span></a></tt></td><td align="right" id="added">+229</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Flokk.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<span id="added">classflokk_1_1Flokk.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Flokk.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file87"><span id="added">classflokk_1_1LocationalAgent-members.html</span></a></tt></td><td align="right" id="added">+56</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1LocationalAgent-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file88"><span id="added">classflokk_1_1LocationalAgent.html</span></a></tt></td><td align="right" id="added">+1055</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1LocationalAgent.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<span id="added">classflokk_1_1LocationalAgent.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1LocationalAgent.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file90"><span id="added">classflokk_1_1MotionFlokk-members.html</span></a></tt></td><td align="right" id="added">+38</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1MotionFlokk-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file91"><span id="added">classflokk_1_1MotionFlokk.html</span></a></tt></td><td align="right" id="added">+254</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1MotionFlokk.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<span id="added">classflokk_1_1MotionFlokk.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1MotionFlokk.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file93"><span id="added">classflokk_1_1MotionSolver-members.html</span></a></tt></td><td align="right" id="added">+18</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1MotionSolver-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file94"><span id="added">classflokk_1_1MotionSolver.html</span></a></tt></td><td align="right" id="added">+535</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1MotionSolver.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file95"><span id="added">classflokk_1_1Problem-members.html</span></a></tt></td><td align="right" id="added">+20</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Problem-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file96"><span id="added">classflokk_1_1Problem.html</span></a></tt></td><td align="right" id="added">+251</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Problem.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file97"><span id="added">classflokk_1_1Sphere-members.html</span></a></tt></td><td align="right" id="added">+25</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Sphere-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file98"><span id="added">classflokk_1_1Sphere.html</span></a></tt></td><td align="right" id="added">+316</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Sphere.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<span id="added">classflokk_1_1Sphere.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/classflokk_1_1Sphere.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file100"><span id="added">doxygen.css</span></a></tt></td><td align="right" id="added">+216</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/doxygen.css?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<span id="added">doxygen.png</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/doxygen.png?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file102"><span id="added">files.html</span></a></tt></td><td align="right" id="added">+35</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/files.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file103"><span id="added">functions.html</span></a></tt></td><td align="right" id="added">+140</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/functions.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file104"><span id="added">functions_func.html</span></a></tt></td><td align="right" id="added">+111</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/functions_func.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file105"><span id="added">functions_vars.html</span></a></tt></td><td align="right" id="added">+42</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/functions_vars.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file106"><span id="added">globals.html</span></a></tt></td><td align="right" id="added">+34</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/globals.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file107"><span id="added">globals_defs.html</span></a></tt></td><td align="right" id="added">+30</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/globals_defs.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file108"><span id="added">globals_func.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/globals_func.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file109"><span id="added">hierarchy.html</span></a></tt></td><td align="right" id="added">+32</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/hierarchy.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file110"><span id="added">index.html</span></a></tt></td><td align="right" id="added">+14</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/index.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file111"><span id="added">namespaceflokk.html</span></a></tt></td><td align="right" id="added">+42</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/namespaceflokk.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file112"><span id="added">namespacegmtl.html</span></a></tt></td><td align="right" id="added">+598</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/namespacegmtl.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file113"><span id="added">namespacemembers.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/namespacemembers.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file114"><span id="added">namespacemembers_func.html</span></a></tt></td><td align="right" id="added">+21</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/namespacemembers_func.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file115"><span id="added">namespaces.html</span></a></tt></td><td align="right" id="added">+16</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/namespaces.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file116"><span id="added">structflokk_1_1LocationalAgent_1_1Movement-members.html</span></a></tt></td><td align="right" id="added">+20</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/structflokk_1_1LocationalAgent_1_1Movement-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file117"><span id="added">structflokk_1_1LocationalAgent_1_1Movement.html</span></a></tt></td><td align="right" id="added">+211</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/structflokk_1_1LocationalAgent_1_1Movement.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt> /<a href="#file118"><span id="added">structflokk_1_1MotionSolver_1_1Conflict-members.html</span></a></tt></td><td align="right" id="added">+15</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/structflokk_1_1MotionSolver_1_1Conflict-members.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<a href="#file119"><span id="added">structflokk_1_1MotionSolver_1_1Conflict.html</span></a></tt></td><td align="right" id="added">+75</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_ref/structflokk_1_1MotionSolver_1_1Conflict.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt>pdf/<span id="added">flokk-ref.pdf</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-ref.pdf?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt> /<span id="added">flokk_presentation.pdf</span></tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk_presentation.pdf?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td></td><td align="right" id="added">+13198</td><td></td><td></td></tr> </table> <small id="info">121 added files</small><br /> <div class="tasklist"><ul> <li><a href="#task1">TODO: if this doesn't work, the intersection function doesn't handle points inside the box</span></a></li> <li><a href="#task2">TODO: this is (O)=2*n*m, an oct tree or datastructure for the bounds</span></a></li> <li><a href="#task3">TODO: make this work for more than one positive bound</span></a></li> <li><a href="#task4">TODO: this is an error really</span></a></li> <li><a href="#task5">TODO: this is a hack, figure out how to do all positive bounds</span></a></li> <li><a href="#task6">TODO: do more than this?</span></a></li> <li><a href="#task7">TODO: fix this mess???</span></a></li> <li><a href="#task8">TODO: this should in theory be in the orientation matrix, but this is more handy</span></a></li> <li><a href="#task9">TODO: collision detection and handling with other agents</span></a></li> <li><a href="#task10">TODO: orientation lerping</span></a></li> <li><a href="#task11">TODO: if this doesn't work, the intersection function doesn't handle points inside the box</span></a></li> <li><a href="#task12">TODO: this is an error really</span></a></li> <li><a href="#task13">TODO: this is a hack, figure out how to do all positive bounds</span></a></li> <li><a href="#task14">TODO: make this work for more than one positive bound</span></a></li> <li><a href="#task15">TODO: this is (O)=2*n*m, an oct tree or datastructure for the bounds</span></a></li> <li><a href="#task16">TODO: do more than this?</span></a></li> <li><a href="#task17">TODO: collision detection and handling with other agents</span></a></li> <li><a href="#task18">TODO: orientation lerping</span></a></li> </ul></div> <pre class="comment"> woohoo!!! </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html">html</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs">flokk_docs</a><br /></span> <div class="fileheader" id="added"><big><b>WARNINGS</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/WARNINGS?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N WARNINGS --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ WARNINGS 11 Dec 2004 17:00:32 -0000 1.1 @@ -0,0 +1,6 @@ </small></pre><pre class="diff" id="added">+No implementation found for style `hyperref' +No implementation found for style `acronym' + +Substitution of arg to newlabelxx delayed. + +? brace missing for \url </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html">html</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs">flokk_docs</a><br /></span> <div class="fileheader" id="added"><big><b>flokk-docs.css</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/flokk-docs.css?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N flokk-docs.css --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ flokk-docs.css 11 Dec 2004 17:00:33 -0000 1.1 @@ -0,0 +1,30 @@ </small></pre><pre class="diff" id="added">+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ +.MATH { font-family: "Century Schoolbook", serif; } +.MATH I { font-family: "Century Schoolbook", serif; font-style: italic } +.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold } + +/* implement both fixed-size and relative sizes */ +SMALL.XTINY { font-size : xx-small } +SMALL.TINY { font-size : x-small } +SMALL.SCRIPTSIZE { font-size : smaller } +SMALL.FOOTNOTESIZE { font-size : small } +SMALL.SMALL { } +BIG.LARGE { } +BIG.XLARGE { font-size : large } +BIG.XXLARGE { font-size : x-large } +BIG.HUGE { font-size : larger } +BIG.XHUGE { font-size : xx-large } + +/* heading styles */ +H1 { } +H2 { } +H3 { } +H4 { } +H5 { } + +/* mathematics styles */ +DIV.displaymath { } /* math displays */ +TD.eqno { } /* equation-number cells */ + + +/* document-specific styles come next */ </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html">html</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs">flokk_docs</a><br /></span> <div class="fileheader" id="added"><big><b>flokk-docs.html</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/html/flokk_docs/flokk-docs.html?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N flokk-docs.html --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ flokk-docs.html 11 Dec 2004 17:00:33 -0000 1.1 @@ -0,0 +1,149 @@ </small></pre><pre class="diff" id="added">+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> + +<!--Converted with LaTeX2HTML 2002-2-1 (1.71) +original version by: Nikos Drakos, CBLU, University of Leeds +* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan +* with significant contributions from: + Jens Lippmann, Marek Rouchal, Martin Wilck and others --> +<HTML> +<HEAD> +<TITLE>FLokk of Kurious Kreatures</TITLE> +<META NAME="description" CONTENT="FLokk of Kurious Kreatures"> +<META NAME="keywords" CONTENT="flokk-docs"> +<META NAME="resource-type" CONTENT="document"> +<META NAME="distribution" CONTENT="global"> + +<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"> +<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> + +<LINK REL="STYLESHEET" HREF="flokk-docs.css"> + +<LINK REL="next" HREF="node1.html"> +</HEAD> + +<BODY > +<!--Navigation Panel--> +<A NAME="tex2html9" + HREF="node1.html"> +<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" + SRC="file:/usr/lib/latex2html/icons/next.png"></A> +<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" + SRC="file:/usr/lib/latex2html/icons/up_g.png"> +<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" + SRC="file:/usr/lib/latex2html/icons/prev_g.png"> +<A NAME="tex2html7" + HREF="node1.html"> +<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" + SRC="file:/usr/lib/latex2ht... [truncated message content] |
From: Stuart T. <dis...@us...> - 2004-12-11 16:52:59
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt>latex/<a href="#file1">background.tex</a></tt></td><td align="right" id="added">+21</td><td align="right" id="removed">-15</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.15&content-type=text/vnd.viewcvs-markup">1.15</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.15&r2=1.16">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.16&content-type=text/vnd.viewcvs-markup">1.16</a></td></tr> <tr class="alt"><td><tt> /<a href="#file2">design.tex</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></td></tr> <tr><td><tt>pdf/flokk-docs.pdf</tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td></td><td align="right" id="added">+22</td><td align="right" id="removed">-16</td><td></td></tr> </table> <small id="info">3 modified files</small><br /> <pre class="comment"> gave intro theme (hopefully) </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.15&content-type=text/vnd.viewcvs-markup">1.15</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.15&r2=1.16">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.16&content-type=text/vnd.viewcvs-markup">1.16</a></small></div> <pre class="diff"><small id="info">diff -u -r1.15 -r1.16 --- background.tex 11 Dec 2004 06:48:53 -0000 1.15 +++ background.tex 11 Dec 2004 16:52:51 -0000 1.16 @@ -2,27 +2,29 @@ </small></pre><pre class="diff" id="context"> \label{ch:bg} \section{Problem Statement}\label{sec:ps} Many real-time applications such as games, simulations, and </pre><pre class="diff" id="removed">-visualizations involve large groups of agents. Large groups -often need to perform actions in real-time with very good -performance. Developers of these applications also want all of the -agents to act autonomously. Agents need to interact with their -environment and act according to their percepts. Groups of agents -often need to communicate between themselves. The collective group of -agents usually require some level of management at the group level as -well. Agent groups will need to communicate goals and provide each of -their agents and other groups of agents with information needed to -obtain collective goals. </pre><pre class="diff" id="added">+visualizations involve large groups of autonomous agents. Large groups +often need to perform unscripted actions in real-time with very good +performance. Agents in large groups need to interact with their +environment and their fellow agents. Agent groups need a network to +communicate goals and provide each of their agents with information +needed to obtain collective goals. All of this agent behavior should +be done by the agents autonomously, so that the developers can +introduce a group of agents into an environment to simulate realistic +behavior. </pre><pre class="diff" id="context"> Games, simulations and visualizations that require such collections of agents are typically programmed in C++. To our knowledge, no such tools are available that provide an organizational scheme to fulfill </pre><pre class="diff" id="removed">-the needs of these real-time applications. </pre><pre class="diff" id="added">+the needs of these real-time applications.<span id="addedchars"> Some tools do exist</span> +to deal with specific requirements of autonomous agents, but none +exist that provide an interface for dealing with many possible +requirements. </pre><pre class="diff" id="context"> Some developers have ventured to make applications that do simulations of artificial life. These, however, are specifically geared toward </pre><pre class="diff" id="removed">-biological simulations. Biological simulation applications are just a subset of -the type of real-time applications that would benefit from a system of -multi-agent management. </pre><pre class="diff" id="added">+biological simulations. Biological simulation applications are just a +subset of the type of real-time applications that would benefit from a +system of multi-agent management. </pre><pre class="diff" id="context"> Other types of simulations are limited to only dealing with motion among the multi-agent groups. These systems do not offer </pre><pre class="diff"><small id="info">@@ -38,7 +40,11 @@ </small></pre><pre class="diff" id="context"> network. The \acl{FLOKK} library is a solution to the need for a management </pre><pre class="diff" id="removed">-system for autonomous agents in real-time applications. </pre><pre class="diff" id="added">+system for autonomous agents in real-time applications.<span id="addedchars"> Before</span> +explaining how it works, the artificial intelligence concepts behind +the system need to be addressed. Chapter~\ref{ch:dsn} explains the +design of the \ac{FLOKK} library. For more detail on the use of +\ac{FLOKK}, consult the FLOKK API Reference Manual. </pre><pre class="diff" id="context"> \section{Artificial Intelligence Concepts}\label{sec:aic} \acrodef{CPA}{Continuous planning agent} </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></small></div> <pre class="diff"><small id="info">diff -u -r1.6 -r1.7 --- design.tex 11 Dec 2004 06:48:53 -0000 1.6 +++ design.tex 11 Dec 2004 16:52:51 -0000 1.7 @@ -100,7 +100,7 @@ </small></pre><pre class="diff" id="context"> resets the problem back to being unsolved. In a hierarchical system, it is beneficial for a problem to be split </pre><pre class="diff" id="removed">-into subproblems. A problem splits into subproblems by the parent </pre><pre class="diff" id="added">+into sub-problems. A problem splits into sub-problems by the parent </pre><pre class="diff" id="context"> splitting the problem. For example, if the parent's problem is to get the flokk into a formation, the parent then generates a problem for each of its members. Each of those problems tells the agent exactly </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-11 16:26:10
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">relatedwork.tex</a></tt></td><td align="right" id="added">+12</td><td align="right" id="removed">-24</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> </table> <pre class="comment"> just need to give the intro a theme </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>relatedwork.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- relatedwork.tex 11 Dec 2004 02:32:29 -0000 1.2 +++ relatedwork.tex 11 Dec 2004 16:26:03 -0000 1.3 @@ -1,29 +1,17 @@ </small></pre><pre class="diff" id="context"> \chapter{Related Work} \subsubsection{OpenSteer} </pre><pre class="diff" id="removed">-According to \url{http://opensteer.sourceforge.net}: -\begin{quote} -OpenSteer is an open source library of components to help build -steering behaviors for autonomous characters in games and other kinds -of multi-agent simulations. These agents may represent characters -(humans, animals, alien creatures), vehicles (cars, planes, -spaceships) or other kinds of mobile agents. OpenSteer was originally -developed on Linux and was subsequently ported to Windows and Mac OS -X. </pre><pre class="diff" id="added">+OpenSteer is an open source library that helps simulate ``steering +behavior'' for autonomous agents in a multi-agent system. Steering +behavior refers to how an agent determines its path for motion, which +includes avoiding obstacles. Agents may be any type of moving +character. OpenSteer is intended to be used as a toolkit by +programmers of games and other simulations. </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-OpenSteer provides a toolkit of steering behaviors, defined in terms -of an abstract mobile agent called a vehicle. Sample code is provided, -including a simple vehicle implementation and examples of combining -simple steering behaviors to produce more complex behavior. In order -to allow flexible integration with existing game engines OpenSteer can -add its functionality by either layering or inheritance. [see -"Integrating with Your Code" below] Note that OpenSteer is intended -for use by programmers. It does not plug into interactive production -tools, nor does it support behavior authoring by non-programmers. -\end{quote} - -Although FLOKK is similar to OpenSteer it is more general. OpenSteer -is specifically meant to be used for autonomous agents in motion-based -situations. Motion solving is a large part of FLOKK, but FLOKK is not -limited to motion problems. </pre><pre class="diff" id="added">+Although FLOKK is similar to OpenSteer, it is more general. OpenSteer +only deals with one requirement that autonomous agents may +have. Motion solving is a large part of FLOKK and steering could be +simulated with FLOKK, but FLOKK is not limited to motion problems. The +idea is that FLOKK can be customized to deal with any kind of problem +that a programmer wants to assign to autonomous agents. </pre><pre class="diff" id="context"> \newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-11 06:49:09
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt>latex/<a href="#file1">background.tex</a></tt></td><td align="right" id="added">+19</td><td align="right" id="removed">-14</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.14&content-type=text/vnd.viewcvs-markup">1.14</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.14&r2=1.15">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.15&content-type=text/vnd.viewcvs-markup">1.15</a></td></tr> <tr class="alt"><td><tt> /<a href="#file2">conclusion.tex</a></tt></td><td align="right" id="added">+7</td><td align="right" id="removed">-8</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td><tt> /<a href="#file3">design.tex</a></tt></td><td align="right" id="added">+28</td><td align="right" id="removed">-30</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.5&r2=1.6">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a></td></tr> <tr class="alt"><td><tt>pdf/flokk-docs.pdf</tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td></td><td align="right" id="added">+54</td><td align="right" id="removed">-52</td><td></td></tr> </table> <small id="info">4 modified files</small><br /> <pre class="comment"> most of patricks comments changed </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.14&content-type=text/vnd.viewcvs-markup">1.14</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.14&r2=1.15">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.15&content-type=text/vnd.viewcvs-markup">1.15</a></small></div> <pre class="diff"><small id="info">diff -u -r1.14 -r1.15 --- background.tex 11 Dec 2004 02:32:29 -0000 1.14 +++ background.tex 11 Dec 2004 06:48:53 -0000 1.15 @@ -2,16 +2,16 @@ </small></pre><pre class="diff" id="context"> \label{ch:bg} \section{Problem Statement}\label{sec:ps} Many real-time applications such as games, simulations, and </pre><pre class="diff" id="removed">-visualizations involve large groups of agents. <span id="removedchars">These l</span>arge groups </pre><pre class="diff" id="added">+visualizations involve large groups of agents. <span id="addedchars">L</span>arge groups </pre><pre class="diff" id="context"> often need to perform actions in real-time with very good performance. Developers of these applications also want all of the </pre><pre class="diff" id="removed">-agents to act autonomously. These agents need to interact with their -environment and act according to their percepts. These groups of agents </pre><pre class="diff" id="added">+agents to act autonomously. Agents need to interact with their +environment and act according to their percepts. Groups of agents </pre><pre class="diff" id="context"> often need to communicate between themselves. The collective group of agents usually require some level of management at the group level as </pre><pre class="diff" id="removed">-well. These groups of agents will need to communicate goals and -provide their collection of agents and other groups of agents with -information needed to obtain collective goals. </pre><pre class="diff" id="added">+well. Agent groups will need to communicate goals and provide each of +their agents and other groups of agents with information needed to +obtain collective goals. </pre><pre class="diff" id="context"> Games, simulations and visualizations that require such collections of agents are typically programmed in C++. To our knowledge, no such </pre><pre class="diff"><small id="info">@@ -31,10 +31,14 @@ </small></pre><pre class="diff" id="context"> In current real-time applications communication among a complex hierarchy of agents is often left to the developers. This extra time </pre><pre class="diff" id="removed">-spent developing communication is costly. An API to encapsulate agent -behavior would be beneficial in such situations, allowing developers to -concentrate on the project overall and not how those goals are -distributed among the agent network. </pre><pre class="diff" id="added">+spent developing communication is costly. An Application Programming +Interface (API) to encapsulate agent behavior would be beneficial in +such situations, allowing developers to concentrate on the project +overall and not how those goals are distributed among the agent +network. + +The \acl{FLOKK} library is a solution to the need for a management +system for autonomous agents in real-time applications. </pre><pre class="diff" id="context"> \section{Artificial Intelligence Concepts}\label{sec:aic} \acrodef{CPA}{Continuous planning agent} </pre><pre class="diff"><small id="info">@@ -47,15 +51,16 @@ </small></pre><pre class="diff" id="context"> two \ac{CPA}s playing a game tic-tac-toe. Each agent has an initial plan of where it wants to place its mark. If agent A places its mark in a square and B's plan was to place its mark there, then B must change </pre><pre class="diff" id="removed">-it<span id="removedchars">'</span>s plan. B must execute a different action (place a mark in a </pre><pre class="diff" id="added">+its plan. B must execute a different action (place a mark in a </pre><pre class="diff" id="context"> different square). A precondition of the action of placing a mark in a square is that the square is currently unmarked. \acrodef{HTN}{Hierarchical task network} \subsection{\ac{HTN} planning}\label{htn} In addition to handling individual problem solving, \ac{FLOKK} deals </pre><pre class="diff" id="removed">-with the hierarchical structure desirable in a flokk. A \ac{HTN} allows -problems to be passed down through the hierarchy of agents. </pre><pre class="diff" id="added">+with the hierarchical structure desirable in a autonomous multi-agent +system. A \ac{HTN} allows problems to be passed down through the +hierarchy of agents. </pre><pre class="diff" id="context"> Artificial intelligence planning in general works like this: an agent's percepts provide it with information about its environment. Using </pre><pre class="diff"><small id="info">@@ -67,7 +72,7 @@ </small></pre><pre class="diff" id="context"> goals into sub-goals and actions into sub-actions. For example, a goal might be to get from point A to point B. There are different actions we could take. For instance, an agent might have the option to walk or </pre><pre class="diff" id="removed">-swim to point B. Using it<span id="removedchars">'</span>s percepts, the agent detects either that </pre><pre class="diff" id="added">+swim to point B. Using its percepts, the agent detects either that </pre><pre class="diff" id="context"> the path is all solid ground, all water, or some water and some solid ground. \ac{HTN} planning would deal with these constraints and possible interactions between the actions. </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>conclusion.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- conclusion.tex 11 Dec 2004 02:32:29 -0000 1.2 +++ conclusion.tex 11 Dec 2004 06:48:53 -0000 1.3 @@ -17,15 +17,14 @@ </small></pre><pre class="diff" id="context"> The motion solver still needs work. Collision detection is close to being fully implemented. Some rough motion still occurs when an object changes direction. Also, other real-world physics such as </pre><pre class="diff" id="removed">-gravitational force may become a part of the motion solver. - -The samples library will grow to include examples with simple graphics -to clarify the use of the API, and also examples with more complex -structure (including a flying flock of birds, and an army). - -More extensive testing of the system will help improve the algorithms </pre><pre class="diff" id="added">+gravitational force may become a part of the motion solver. The +samples library will grow to include examples with simple graphics to +clarify the use of the API, and also examples with more complex +structure (including a flying flock of birds, and an army). More +extensive testing of the system will help improve the algorithms </pre><pre class="diff" id="context"> used. For instance, testing with very large flokks will determine the </pre><pre class="diff" id="removed">-limits of the system and possibly aid in the improvement of the<span id="removedchars"> library.</span> </pre><pre class="diff" id="added">+limits of the system and possibly aid in the improvement of the +library. </pre><pre class="diff" id="context"> \section{Division of Labor} Stuart Tett - </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.5&r2=1.6">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a></small></div> <pre class="diff"><small id="info">diff -u -r1.5 -r1.6 --- design.tex 11 Dec 2004 02:32:29 -0000 1.5 +++ design.tex 11 Dec 2004 06:48:53 -0000 1.6 @@ -6,7 +6,7 @@ </small></pre><pre class="diff" id="context"> term referring to a collection of autonomous agents. An \textbf{agent} is a member of a flokk. An agent is (in our case) an animal, human, or some dynamic character. The idea of the flokk is to control multiple </pre><pre class="diff" id="removed">-agents that interact together. Examples include a herd of sheep<span id="removedchars">s</span>, pigs </pre><pre class="diff" id="added">+agents that interact together. Examples include a herd of sheep, pigs </pre><pre class="diff" id="context"> in a pig pen, birds in flight (in formation), or an army of soldiers. \section{Basis} </pre><pre class="diff"><small id="info">@@ -15,7 +15,7 @@ </small></pre><pre class="diff" id="context"> planning and \acl{CPA} (Section~\ref{sec:aic}). \ac{FLOKK} uses these concepts to address the problem statement in Section~\ref{sec:ps}. \ac{FLOKK} is written in C++ and uses the </pre><pre class="diff" id="removed">-\ac{GMTL} to handle the math involved in with a three-dimensional </pre><pre class="diff" id="added">+\ac{GMTL} to handle the math required for movement within a three-dimensional </pre><pre class="diff" id="context"> space. \ac{FLOKK} provides the programmer with an API to develop an </pre><pre class="diff"><small id="info">@@ -33,7 +33,6 @@ </small></pre><pre class="diff" id="context"> \section{Agent}\label{sec:agent} </pre><pre class="diff" id="removed">-The term agent is defined in Section~\ref{sec:what} of this document. </pre><pre class="diff" id="context"> \subsection{Characteristics of an Agent} Each agent has characteristics which depend on the current problem of </pre><pre class="diff"><small id="info">@@ -45,10 +44,11 @@ </small></pre><pre class="diff" id="context"> \subsection{Structure of an Agent} An agent has a list of problems it needs to solve. For example, an agent </pre><pre class="diff" id="removed">-might solve for the path to desired solution given a problem. An agent asks parent -for any available problems to solve. If the list of problems is empty, -the agent solves its default problem (i.e., a problem defined by the -programmer for an agent to solve when in an idle state). </pre><pre class="diff" id="added">+might solve for the path to desired solution given a problem. An agent +asks its parent for any available problems to solve. If the list of +problems is empty, the agent solves its default problem (i.e., a +problem defined by the programmer for an agent to solve when in an +idle state). </pre><pre class="diff" id="context"> \subsection{Locational Agent}\label{subsec:locag} \ac{FLOKK} defines a special type of agent called a locational agent. </pre><pre class="diff"><small id="info">@@ -61,23 +61,20 @@ </small></pre><pre class="diff" id="context"> and possibly try to avoid them. \section{Flokk} </pre><pre class="diff" id="removed">- -The term flokk is defined in Section~\ref{sec:what} of this document. -\vspace{10.0pt} - -\noindent A flokk is in actuality an agent. A flokk is a specific type of agent: -an agent composed of many agents. The environment treats the flokk as -an single agent, and the flokk details with the multi-agent -system. Note that because a flokk is an agent it inherits the -characteristics and structure as noted in Section~\ref{sec:agent} - -\subsection{Motion Flokk} -A motion flokk is a flokk that holds locational agents as defined in Subsection -\ref{subsec:locag}. The idea is that a motion flokk already has the -intelligence to handle moving agents. It does this using a motion -solver that \ac{FLOKK} has built in. The motion solver deals with -motion conflicts such as collision detection. It also aims to deal -with path finding, and spline interpolation. </pre><pre class="diff" id="added">+A flokk is a specific type of agent: an agent composed of many +agents. Thus, the environment treats the flokk as an single +agent. Since the flokk is actually many agents, it must handle them +itself as its own ``sub-environment.'' Note that because a flokk +is an agent it inherits the characteristics and structure as noted in +Section~\ref{sec:agent}. + +%\subsection{Motion Flokk} +A {\bf motion flokk} is a flokk that holds locational agents as +defined in Subsection \ref{subsec:locag}. The idea is that a motion +flokk already has the intelligence to handle moving agents. It does +this using a motion solver that \ac{FLOKK} has built in. The motion +solver deals with motion conflicts such as collision detection. It +also aims to deal with path finding, and spline interpolation. </pre><pre class="diff" id="context"> \section{Problem} A problem causes an agent to behave in a manner in which the problem </pre><pre class="diff"><small id="info">@@ -94,12 +91,13 @@ </small></pre><pre class="diff" id="context"> solve the current problem. A problem, when given to an agent, performs the solving with the agent following the instructions from the solver. </pre><pre class="diff" id="removed">-As mentioned earlier, the programmer subclasses {\tt Problem} from -the \ac{FLOKK} library. The programmer overrides the {\tt solve( float dt )}, -{\tt reset( )}, and {\tt isSolved( )} methods. In {\tt solve( float dt - )}, the programmer defines how the object solves the problem. It -takes a {\tt float dt} representing the change in time since the last -update. The {\tt reset( )} function resets the problem back to being unsolved. </pre><pre class="diff" id="added">+To create problems the programmer creates subclasses of the {\tt + Problem} class from the \ac{FLOKK} library. The programmer overrides +the {\tt solve( float dt )}, {\tt reset( )}, and {\tt isSolved( )} +methods. In {\tt solve( float dt )}, the programmer defines how the +object solves the problem. It takes a {\tt float dt} representing the +change in time since the last update. The {\tt reset( )} function +resets the problem back to being unsolved. </pre><pre class="diff" id="context"> In a hierarchical system, it is beneficial for a problem to be split into subproblems. A problem splits into subproblems by the parent </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-11 02:32:41
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt>latex/<a href="#file1">Makefile</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/Makefile?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/Makefile.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/Makefile?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></td></tr> <tr class="alt"><td><tt> /<a href="#file2">background.tex</a></tt></td><td align="right" id="added">+15</td><td align="right" id="removed">-8</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.13&content-type=text/vnd.viewcvs-markup">1.13</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.13&r2=1.14">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.14&content-type=text/vnd.viewcvs-markup">1.14</a></td></tr> <tr><td><tt> /<a href="#file3">conclusion.tex</a></tt></td><td align="right" id="added">+44</td><td align="right" id="removed">-26</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt> /<a href="#file4">design.tex</a></tt></td><td align="right" id="added">+14</td><td align="right" id="removed">-8</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></td></tr> <tr><td><tt> /<a href="#file5">relatedwork.tex</a></tt></td><td align="right" id="added">+27</td><td align="right" id="removed">-6</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr class="alt"><td><tt>pdf/flokk-docs.pdf</tt></td><td colspan="2" align="center"><small id="info">[binary]</small></td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/pdf/flokk-docs.pdf?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> <tr><td></td><td align="right" id="added">+101</td><td align="right" id="removed">-49</td><td></td></tr> </table> <small id="info">6 modified files</small><br /> <pre class="comment"> docs </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>Makefile</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/Makefile?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/Makefile.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/Makefile?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></small></div> <pre class="diff"><small id="info">diff -u -r1.6 -r1.7 --- Makefile 6 Dec 2004 04:37:48 -0000 1.6 +++ Makefile 11 Dec 2004 02:32:29 -0000 1.7 @@ -36,4 +36,4 @@ </small></pre><pre class="diff" id="context"> ps2pdf refman_2on1.ps refman_2on1.pdf clean: </pre><pre class="diff" id="removed">- rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out <span id="removedchars">*</span>.pdf </pre><pre class="diff" id="added">+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out <span id="addedchars">refman</span>.pdf </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.13&content-type=text/vnd.viewcvs-markup">1.13</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.13&r2=1.14">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.14&content-type=text/vnd.viewcvs-markup">1.14</a></small></div> <pre class="diff"><small id="info">diff -u -r1.13 -r1.14 --- background.tex 10 Dec 2004 21:35:43 -0000 1.13 +++ background.tex 11 Dec 2004 02:32:29 -0000 1.14 @@ -31,8 +31,9 @@ </small></pre><pre class="diff" id="context"> In current real-time applications communication among a complex hierarchy of agents is often left to the developers. This extra time </pre><pre class="diff" id="removed">-spent developing communication is costly. An API to encapsulate Developers should -concentrate on the goals themselves and not how the goals are </pre><pre class="diff" id="added">+spent developing communication is costly. An API to encapsulate agent +behavior would be beneficial in such situations, allowing developers to +concentrate on the project overall and not how those goals are </pre><pre class="diff" id="context"> distributed among the agent network. \section{Artificial Intelligence Concepts}\label{sec:aic} </pre><pre class="diff"><small id="info">@@ -40,9 +41,15 @@ </small></pre><pre class="diff" id="context"> \subsection{\ac{CPA}}\label{subsec:cpa} \ac{FLOKK} treats agents as {\bf \acl{CPA}s}. A \ac{CPA} creates new goals and reacts to changes in the environment in real-time. At each </pre><pre class="diff" id="removed">-step the agent checks its available percepts. Then check the -preconditions of the next action. If there is a conflict than the next -action must be changed. </pre><pre class="diff" id="added">+step the agent checks its available percepts. Then the agent checks +the preconditions of the next action. If this precondition does not +hold, then the next action must be changed. Say for example we have +two \ac{CPA}s playing a game tic-tac-toe. Each agent has an initial +plan of where it wants to place its mark. If agent A places its mark in +a square and B's plan was to place its mark there, then B must change +it's plan. B must execute a different action (place a mark in a +different square). A precondition of the action of placing a mark in a +square is that the square is currently unmarked. </pre><pre class="diff" id="context"> \acrodef{HTN}{Hierarchical task network} \subsection{\ac{HTN} planning}\label{htn} </pre><pre class="diff"><small id="info">@@ -51,8 +58,8 @@ </small></pre><pre class="diff" id="context"> problems to be passed down through the hierarchy of agents. Artificial intelligence planning in general works like this: an </pre><pre class="diff" id="removed">-agent's percepts to gather information about the environment. Using -knowledge of the environment and knowledge of available actions, the </pre><pre class="diff" id="added">+agent's percepts provide it with information about its environment. Using +knowledge of the environment and knowledge of available actions, an </pre><pre class="diff" id="context"> agent can achieve its goals through AI planning. The plan usually gives a network of actions to perform to achieve the goal. </pre><pre class="diff"><small id="info">@@ -73,7 +80,7 @@ </small></pre><pre class="diff" id="context"> Say, for example, that the flokk is an army of soldiers. The army's goal is to take over a city. The army has a complex hierarchy </pre><pre class="diff" id="removed">-of divisions. Lets say that the army allows all its descendants know </pre><pre class="diff" id="added">+of divisions. Lets say that the army allows all its descendants <span id="addedchars">to </span>know </pre><pre class="diff" id="context"> that they are taking over the city. A particular platoon might be given this information along with the subgoal of capturing a particular building. The platoon figures out how to achieve this goal, </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>conclusion.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- conclusion.tex 10 Dec 2004 08:32:11 -0000 1.1 +++ conclusion.tex 11 Dec 2004 02:32:29 -0000 1.2 @@ -14,33 +14,51 @@ </small></pre><pre class="diff" id="context"> network FLOKK provides. \section{Future Work} </pre><pre class="diff" id="removed">-The motion solver could be extended to include more real-world physics -such as gravity. </pre><pre class="diff" id="added">+The motion solver still needs work. Collision detection is close to +being fully implemented. Some rough motion still occurs when an object +changes direction. Also, other real-world physics such as +gravitational force may become a part of the motion solver. </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-More samples will be added to the library. The samples will involve -more complex examples of how to use the FLOKK library. </pre><pre class="diff" id="added">+The samples library will grow to include examples with simple graphics +to clarify the use of the API, and also examples with more complex +structure (including a flying flock of birds, and an army). + +More extensive testing of the system will help improve the algorithms +used. For instance, testing with very large flokks will determine the +limits of the system and possibly aid in the improvement of the library. </pre><pre class="diff" id="context"> \section{Division of Labor} </pre><pre class="diff" id="removed">-Stuart -API design -website -documentation -modelling fish, fishbowl -programming problems for fishbowl sample -presentation - -Daniel -API design -API Implementation - motion solver - collision detection -Documentation -Build System/CVS - -Andres -API design -API Implementation - setup domain -Fishbowl sample coding -Fish model </pre><pre class="diff" id="added">+Stuart Tett - +\begin{itemize} +\item API design +\item Website design and maintainence +\item Documentation +\item 3D modelling of fish and fishbowl for fishbowl sample +\item Programming problems for fishbowl sample +\item Presentation slides +\end{itemize} + + +Daniel Shipton +\begin{itemize} +\item API design +\item API Implementation + \begin{itemize} + \item Motion solver + \item Collision detection + \end{itemize} +\item Documentation +\item Build System and CVS setup/maintainence +\end{itemize} + +Andres Reinot +\begin{itemize} +\item API design +\item API Implementation + \begin{itemize} + \item setup domain + \end{itemize} +\item Programming fishbowl sample +\item 3D modelling of fish +\end{itemize} </pre><pre class="diff" id="context"> \newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.4&r2=1.5">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.5&content-type=text/vnd.viewcvs-markup">1.5</a></small></div> <pre class="diff"><small id="info">diff -u -r1.4 -r1.5 --- design.tex 10 Dec 2004 08:32:11 -0000 1.4 +++ design.tex 11 Dec 2004 02:32:29 -0000 1.5 @@ -2,7 +2,7 @@ </small></pre><pre class="diff" id="context"> \label{ch:dsn} \section{What is a flokk?} \label{sec:what} </pre><pre class="diff" id="removed">-The term \textbf{flokk} <span id="removedchars">to refer</span> to a flock, herd, school, or any </pre><pre class="diff" id="added">+The term \textbf{flokk} <span id="addedchars">refers</span> to a flock, herd, school, or any </pre><pre class="diff" id="context"> term referring to a collection of autonomous agents. An \textbf{agent} is a member of a flokk. An agent is (in our case) an animal, human, or some dynamic character. The idea of the flokk is to control multiple </pre><pre class="diff"><small id="info">@@ -36,16 +36,16 @@ </small></pre><pre class="diff" id="context"> The term agent is defined in Section~\ref{sec:what} of this document. \subsection{Characteristics of an Agent} </pre><pre class="diff" id="removed">-Each agent has characteristics which depends on the current problem of -the agent. A problem, defined below in detail, determines an agents </pre><pre class="diff" id="added">+Each agent has characteristics which depend on the current problem of +the agent. A problem, defined below in detail, determines an agent's </pre><pre class="diff" id="context"> behavior as the agent tries to solve it. Possible characteristics of </pre><pre class="diff" id="removed">-an agent include the size of the agent geometry, the distance to keep -from other agent, position of the agent in the environment, or the </pre><pre class="diff" id="added">+an agent include the size of the agent geometry, the distance to maintain +from other agents, the position of the agent in the environment, or the </pre><pre class="diff" id="context"> velocity (speed and direction) of the agent. \subsection{Structure of an Agent} </pre><pre class="diff" id="removed">-An agent has a list of problems it needs to solve for. The agent -solves for path to desired solution given a problem. An agent asks parent </pre><pre class="diff" id="added">+An agent has a list of problems it needs to solve. For example, an agent +might solve for the path to desired solution given a problem. An agent asks parent </pre><pre class="diff" id="context"> for any available problems to solve. If the list of problems is empty, the agent solves its default problem (i.e., a problem defined by the programmer for an agent to solve when in an idle state). </pre><pre class="diff"><small id="info">@@ -72,7 +72,7 @@ </small></pre><pre class="diff" id="context"> characteristics and structure as noted in Section~\ref{sec:agent} \subsection{Motion Flokk} </pre><pre class="diff" id="removed">-<span id="removedchars">I</span>s a flokk that holds locational agents as defined in Subsection </pre><pre class="diff" id="added">+<span id="addedchars">A motion flokk i</span>s a flokk that holds locational agents as defined in Subsection </pre><pre class="diff" id="context"> \ref{subsec:locag}. The idea is that a motion flokk already has the intelligence to handle moving agents. It does this using a motion solver that \ac{FLOKK} has built in. The motion solver deals with </pre><pre class="diff"><small id="info">@@ -101,4 +101,10 @@ </small></pre><pre class="diff" id="context"> takes a {\tt float dt} representing the change in time since the last update. The {\tt reset( )} function resets the problem back to being unsolved. </pre><pre class="diff" id="added">+In a hierarchical system, it is beneficial for a problem to be split +into subproblems. A problem splits into subproblems by the parent +splitting the problem. For example, if the parent's problem is to get +the flokk into a formation, the parent then generates a problem for +each of its members. Each of those problems tells the agent exactly +where to move. </pre><pre class="diff" id="context"> \newpage </pre></div> <hr /><a name="file5" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>relatedwork.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- relatedwork.tex 10 Dec 2004 08:32:11 -0000 1.1 +++ relatedwork.tex 11 Dec 2004 02:32:29 -0000 1.2 @@ -1,8 +1,29 @@ </small></pre><pre class="diff" id="context"> \chapter{Related Work} </pre><pre class="diff" id="removed">-The closest type of systems to FLOKK are systems used by commercial -games which are closed source. For example, games known as ``God -sims'' such as SimCity where the user ``plays God'' by setting up an -environment and having some control over an otherwise autonomous group -of agents. Unfortunately, there exist no open source projects which -provide a library for doing this. </pre><pre class="diff" id="added">+\subsubsection{OpenSteer} +According to \url{http://opensteer.sourceforge.net}: +\begin{quote} +OpenSteer is an open source library of components to help build +steering behaviors for autonomous characters in games and other kinds +of multi-agent simulations. These agents may represent characters +(humans, animals, alien creatures), vehicles (cars, planes, +spaceships) or other kinds of mobile agents. OpenSteer was originally +developed on Linux and was subsequently ported to Windows and Mac OS +X. + +OpenSteer provides a toolkit of steering behaviors, defined in terms +of an abstract mobile agent called a vehicle. Sample code is provided, +including a simple vehicle implementation and examples of combining +simple steering behaviors to produce more complex behavior. In order +to allow flexible integration with existing game engines OpenSteer can +add its functionality by either layering or inheritance. [see +"Integrating with Your Code" below] Note that OpenSteer is intended +for use by programmers. It does not plug into interactive production +tools, nor does it support behavior authoring by non-programmers. +\end{quote} + +Although FLOKK is similar to OpenSteer it is more general. OpenSteer +is specifically meant to be used for autonomous agents in motion-based +situations. Motion solving is a large part of FLOKK, but FLOKK is not +limited to motion problems. + </pre><pre class="diff" id="context"> \newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-10 21:35:53
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">background.tex</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-3</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.12&r2=1.13">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.13&content-type=text/vnd.viewcvs-markup">1.13</a></td></tr> </table> <pre class="comment"> docs rule </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.12&r2=1.13">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.13&content-type=text/vnd.viewcvs-markup">1.13</a></small></div> <pre class="diff"><small id="info">diff -u -r1.12 -r1.13 --- background.tex 10 Dec 2004 08:32:11 -0000 1.12 +++ background.tex 10 Dec 2004 21:35:43 -0000 1.13 @@ -25,13 +25,13 @@ </small></pre><pre class="diff" id="context"> multi-agent management. Other types of simulations are limited to only dealing with motion </pre><pre class="diff" id="removed">-among the multi-agent groups. These systems do not offer enough -flexibility needed for systems which have many different goals and a </pre><pre class="diff" id="added">+among the multi-agent groups. These systems do not offer +flexibility for systems which have many different goals and a </pre><pre class="diff" id="context"> dynamic environment affecting these goals. In current real-time applications communication among a complex hierarchy of agents is often left to the developers. This extra time </pre><pre class="diff" id="removed">-spent developing communication is costly. Developers should </pre><pre class="diff" id="added">+spent developing communication is costly. <span id="addedchars">An API to encapsulate </span>Developers should </pre><pre class="diff" id="context"> concentrate on the goals themselves and not how the goals are distributed among the agent network. </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-10 09:32:05
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1"><span id="added">conclusion.tex</span></a></tt></td><td align="right" id="added">+46</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt><a href="#file2"><span id="added">relatedwork.tex</span></a></tt></td><td align="right" id="added">+8</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt><a href="#file3">background.tex</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.11&r2=1.12">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a></td></tr> <tr class="alt"><td><tt><a href="#file4">design.tex</a></tt></td><td align="right" id="added">+16</td><td align="right" id="removed">-16</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt><a href="#file5">flokk-docs.tex</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex.diff?r1=1.9&r2=1.10">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a></td></tr> <tr><td></td><td align="right" id="added">+74</td><td align="right" id="removed">-18</td><td></td></tr> </table> <small id="info">2 added + 3 modified, total 5 files</small><br /> <pre class="comment"> documentation almost done </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader" id="added"><big><b>conclusion.tex</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N conclusion.tex --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ conclusion.tex 10 Dec 2004 08:32:11 -0000 1.1 @@ -0,0 +1,46 @@ </small></pre><pre class="diff" id="added">+\chapter{Conclusion} +FLOKK solves the problem of a lack of an open source API for creating +an autonomous multi-agent hierarchical task network for real-time +graphics applications. Much time was devoted to designing the system +to allow for flexibility on both the programmers part and the +extensibility of the API. Because so much time was devoted to designing +the API, design flaws were few. Thus, the implementation closely +follows the original design. + +FLOKK began as a solution to dealing with flocks of animals in +graphical real-time applications, but grew to be much more +flexible. In non-graphical applications, developers could subclass the +abstract classes to do data simulations using the hierarchical task +network FLOKK provides. + +\section{Future Work} +The motion solver could be extended to include more real-world physics +such as gravity. + +More samples will be added to the library. The samples will involve +more complex examples of how to use the FLOKK library. + +\section{Division of Labor} +Stuart +API design +website +documentation +modelling fish, fishbowl +programming problems for fishbowl sample +presentation + +Daniel +API design +API Implementation + motion solver + collision detection +Documentation +Build System/CVS + +Andres +API design +API Implementation + setup domain +Fishbowl sample coding +Fish model +\newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader" id="added"><big><b>relatedwork.tex</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N relatedwork.tex --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ relatedwork.tex 10 Dec 2004 08:32:11 -0000 1.1 @@ -0,0 +1,8 @@ </small></pre><pre class="diff" id="added">+\chapter{Related Work} +The closest type of systems to FLOKK are systems used by commercial +games which are closed source. For example, games known as ``God +sims'' such as SimCity where the user ``plays God'' by setting up an +environment and having some control over an otherwise autonomous group +of agents. Unfortunately, there exist no open source projects which +provide a library for doing this. +\newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.11&r2=1.12">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a></small></div> <pre class="diff"><small id="info">diff -u -r1.11 -r1.12 --- background.tex 10 Dec 2004 05:31:11 -0000 1.11 +++ background.tex 10 Dec 2004 08:32:11 -0000 1.12 @@ -77,7 +77,7 @@ </small></pre><pre class="diff" id="context"> that they are taking over the city. A particular platoon might be given this information along with the subgoal of capturing a particular building. The platoon figures out how to achieve this goal, </pre><pre class="diff" id="removed">-and by further division of the goal, <span id="removedchars">with</span> instructions to individual </pre><pre class="diff" id="added">+and by further division of the goal, <span id="addedchars">gives</span> instructions to individual </pre><pre class="diff" id="context"> soldiers to carry out tasks. \newpage </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- design.tex 10 Dec 2004 07:26:46 -0000 1.3 +++ design.tex 10 Dec 2004 08:32:11 -0000 1.4 @@ -7,7 +7,7 @@ </small></pre><pre class="diff" id="context"> is a member of a flokk. An agent is (in our case) an animal, human, or some dynamic character. The idea of the flokk is to control multiple agents that interact together. Examples include a herd of sheeps, pigs </pre><pre class="diff" id="removed">-in a pig pen, birds in flight (in formation), <span id="removedchars">and</span> an army of soldiers. </pre><pre class="diff" id="added">+in a pig pen, birds in flight (in formation), <span id="addedchars">or</span> an army of soldiers. </pre><pre class="diff" id="context"> \section{Basis} \acrodef{GMTL}{General Math Template Library} </pre><pre class="diff"><small id="info">@@ -32,35 +32,35 @@ </small></pre><pre class="diff" id="context"> applications to which the problem statement (Section~\ref{sec:ps}) refers. </pre><pre class="diff" id="removed">-\section{<span id="removedchars">The </span>Agent}\label{sec:agent} </pre><pre class="diff" id="added">+\section{Agent}\label{sec:agent} </pre><pre class="diff" id="context"> The term agent is defined in Section~\ref{sec:what} of this document. </pre><pre class="diff" id="removed">-\subsection{Characteristics of an <span id="removedchars">a</span>gent} </pre><pre class="diff" id="added">+\subsection{Characteristics of an <span id="addedchars">A</span>gent} </pre><pre class="diff" id="context"> Each agent has characteristics which depends on the current problem of the agent. A problem, defined below in detail, determines an agents behavior as the agent tries to solve it. Possible characteristics of an agent include the size of the agent geometry, the distance to keep </pre><pre class="diff" id="removed">-from other agent, position of the agent in the environment, <span id="removedchars">and t</span>e </pre><pre class="diff" id="added">+from other agent, position of the agent in the environment, <span id="addedchars">or th</span>e </pre><pre class="diff" id="context"> velocity (speed and direction) of the agent. </pre><pre class="diff" id="removed">-\subsection{Structure of <span id="removedchars">the</span> Agent} </pre><pre class="diff" id="added">+\subsection{Structure of <span id="addedchars">an</span> Agent} </pre><pre class="diff" id="context"> An agent has a list of problems it needs to solve for. The agent solves for path to desired solution given a problem. An agent asks parent for any available problems to solve. If the list of problems is empty, the agent solves its default problem (i.e., a problem defined by the programmer for an agent to solve when in an idle state). </pre><pre class="diff" id="removed">-\subsection{Locational Agent<span id="removedchars">s</span>}\label{subsec:locag} </pre><pre class="diff" id="added">+\subsection{Locational Agent}\label{subsec:locag} </pre><pre class="diff" id="context"> \ac{FLOKK} defines a special type of agent called a locational agent. Locational agents solve for their desired location when given a locational problem. A locational problem simply refers to a problem in which an agent needs to move in the environment. Since practically any </pre><pre class="diff" id="removed">-system will need agents to move, \ac{FLOKK} already has it built -in. Locational agents know how to move among other agents and -obstacles in the environment. They detect collisions and possibly try -to avoid them. </pre><pre class="diff" id="added">+graphically represented system will need agents to move, \ac{FLOKK} +already has it built in. Locational agents know how to move among +other agents and obstacles in the environment. They detect collisions +and possibly try to avoid them. </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-\section{<span id="removedchars">The </span>Flokk} </pre><pre class="diff" id="added">+\section{Flokk} </pre><pre class="diff" id="context"> The term flokk is defined in Section~\ref{sec:what} of this document. \vspace{10.0pt} </pre><pre class="diff"><small id="info">@@ -71,15 +71,15 @@ </small></pre><pre class="diff" id="context"> system. Note that because a flokk is an agent it inherits the characteristics and structure as noted in Section~\ref{sec:agent} </pre><pre class="diff" id="removed">-\subsection{Motion Flokk<span id="removedchars">s</span>} </pre><pre class="diff" id="added">+\subsection{Motion Flokk} </pre><pre class="diff" id="context"> Is a flokk that holds locational agents as defined in Subsection \ref{subsec:locag}. The idea is that a motion flokk already has the intelligence to handle moving agents. It does this using a motion solver that \ac{FLOKK} has built in. The motion solver deals with motion conflicts such as collision detection. It also aims to deal with path finding, and spline interpolation. </pre><pre class="diff" id="removed">-\section{The Problem} </pre><pre class="diff" id="context"> </pre><pre class="diff" id="added">+\section{Problem} </pre><pre class="diff" id="context"> A problem causes an agent to behave in a manner in which the problem is solved. The problem could be that the agent needs to move to a certain position. Then the agent solves the problem by getting to that </pre><pre class="diff"><small id="info">@@ -90,9 +90,9 @@ </small></pre><pre class="diff" id="context"> programmer defines problems and how to solve them. Problems may be given to an agent in one of three ways: the flokk assigns a problem to one/many of its agents, an agent asks the flokk for any available </pre><pre class="diff" id="removed">-problems to solve, or the agent solves its own problems. A problem, -when given to an agent, performs the solving with the agent following -the instructions from the solver. </pre><pre class="diff" id="added">+problems to solve, or the agent generates new problems as it tries to +solve the current problem. A problem, when given to an agent, performs +the solving with the agent following the instructions from the solver. </pre><pre class="diff" id="context"> As mentioned earlier, the programmer subclasses {\tt Problem} from the \ac{FLOKK} library. The programmer overrides the {\tt solve( float dt )}, </pre></div> <hr /><a name="file5" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>flokk-docs.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex.diff?r1=1.9&r2=1.10">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a></small></div> <pre class="diff"><small id="info">diff -u -r1.9 -r1.10 --- flokk-docs.tex 10 Dec 2004 07:30:43 -0000 1.9 +++ flokk-docs.tex 10 Dec 2004 08:32:11 -0000 1.10 @@ -32,6 +32,8 @@ </small></pre><pre class="diff" id="context"> \tableofcontents \include{background} \include{design} </pre><pre class="diff" id="removed">-\include{examples} </pre><pre class="diff" id="added">+<span id="addedchars">%</span>\include{examples} +\include{relatedwork} +\include{conclusion} </pre><pre class="diff" id="context"> \include{references} \end{document} </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-10 07:30:54
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">flokk-docs.tex</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-3</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex.diff?r1=1.8&r2=1.9">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a></td></tr> </table> <pre class="comment"> changed to vrac emails </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>flokk-docs.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex.diff?r1=1.8&r2=1.9">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a></small></div> <pre class="diff"><small id="info">diff -u -r1.8 -r1.9 --- flokk-docs.tex 10 Dec 2004 01:52:02 -0000 1.8 +++ flokk-docs.tex 10 Dec 2004 07:30:43 -0000 1.9 @@ -8,13 +8,13 @@ </small></pre><pre class="diff" id="context"> \title{\textbf{\flokk}} \author{ Stuart Tett\\ </pre><pre class="diff" id="removed">- \tt{dis...@us...}\\ </pre><pre class="diff" id="added">+ \tt{st...@vr...}\\ </pre><pre class="diff" id="context"> \and Andres Reinot\\ </pre><pre class="diff" id="removed">- \tt{ar...@us...}\\ </pre><pre class="diff" id="added">+ \tt{ar...@vr...}\\ </pre><pre class="diff" id="context"> \and Daniel Shipton\\ </pre><pre class="diff" id="removed">- \tt{dsh...@us...}} </pre><pre class="diff" id="added">+ \tt{dsh...@vr...}} </pre><pre class="diff" id="context"> \date{\today} \begin{document} </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-10 07:27:02
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">design.tex</a></tt></td><td align="right" id="added">+47</td><td align="right" id="removed">-52</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr> </table> <pre class="comment"> committing what i got. </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div> <pre class="diff"><small id="info">diff -u -r1.2 -r1.3 --- design.tex 10 Dec 2004 05:31:11 -0000 1.2 +++ design.tex 10 Dec 2004 07:26:46 -0000 1.3 @@ -2,12 +2,12 @@ </small></pre><pre class="diff" id="context"> \label{ch:dsn} \section{What is a flokk?} \label{sec:what} </pre><pre class="diff" id="removed">-<span id="removedchars">We use t</span>he term \textbf{flokk} to refer to a flock, herd, school, or any </pre><pre class="diff" id="added">+<span id="addedchars">T</span>he term \textbf{flokk} to refer to a flock, herd, school, or any </pre><pre class="diff" id="context"> term referring to a collection of autonomous agents. An \textbf{agent} is a member of a flokk. An agent is (in our case) an animal, human, or some dynamic character. The idea of the flokk is to control multiple agents that interact together. Examples include a herd of sheeps, pigs </pre><pre class="diff" id="removed">-in a pig pen, birds in flight (in formation), and a<span id="removedchars"> school of fish</span>. </pre><pre class="diff" id="added">+in a pig pen, birds in flight (in formation), and a<span id="addedchars">n army of soldiers</span>. </pre><pre class="diff" id="context"> \section{Basis} \acrodef{GMTL}{General Math Template Library} </pre><pre class="diff"><small id="info">@@ -22,74 +22,62 @@ </small></pre><pre class="diff" id="context"> autonomous multi-agent system. FLOKK provides a set of abstract classes which developers can subclass to customize the flokk. Developers create their own set of problems to be distributed </pre><pre class="diff" id="removed">-through the flokk hierarchy. The problems lead </pre><pre class="diff" id="added">+through the flokk hierarchy. The developers define how to solve +problems and on what conditions they are considered +solved. \ac{FLOKK} works out the distribution of problems and +communication among the agents. + +\ac{FLOKK} also provides concrete classes to deal with motion solving +and collision detection, since these are common among most of the +applications to which the problem statement (Section~\ref{sec:ps}) refers. </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-\section{The Agent} -We defined agent in Section~\ref{sec:what} of this document. </pre><pre class="diff" id="added">+\section{The Agent}\label{sec:agent} +The term agent is defined in Section~\ref{sec:what} of this document. </pre><pre class="diff" id="context"> \subsection{Characteristics of an agent} Each agent has characteristics which depends on the current problem of the agent. A problem, defined below in detail, determines an agents </pre><pre class="diff" id="removed">-behavior as the agent tries to solve it. - -\begin{itemize} - \item the size of the agent - \item the distance to keep from others - \item the maximum position delta (the speed they can potentially go) - \item the position of the agent in the world space - \item the velocity (speed and direction) of the agent -\end{itemize} </pre><pre class="diff" id="added">+behavior as the agent tries to solve it. Possible characteristics of +an agent include the size of the agent geometry, the distance to keep +from other agent, position of the agent in the environment, and te +velocity (speed and direction) of the agent. </pre><pre class="diff" id="context"> \subsection{Structure of the Agent} </pre><pre class="diff" id="removed">- -\begin{itemize} -\item Solves for path to desired solution given a problem. -\item Has a parent flokk (except for the root flokk). -\item Can ask parent for any available problems to solve. If given no - problem, go to default problem (i.e., Agent does whatever it wants). -\item Given a problem, determines how it should behave. -\end{itemize} </pre><pre class="diff" id="added">+An agent has a list of problems it needs to solve for. The agent +solves for path to desired solution given a problem. An agent asks parent +for any available problems to solve. If the list of problems is empty, +the agent solves its default problem (i.e., a problem defined by the +programmer for an agent to solve when in an idle state). </pre><pre class="diff" id="context"> \subsection{Locational Agents}\label{subsec:locag} </pre><pre class="diff" id="removed">-Is an Agent that figures out the desired location when given a -locational problem. Locational agents know how to move among other -agents and obstacles in the environment. </pre><pre class="diff" id="added">+\ac{FLOKK} defines a special type of agent called a locational agent. +Locational agents solve for their desired location when given a +locational problem. A locational problem simply refers to a problem in +which an agent needs to move in the environment. Since practically any +system will need agents to move, \ac{FLOKK} already has it built +in. Locational agents know how to move among other agents and +obstacles in the environment. They detect collisions and possibly try +to avoid them. </pre><pre class="diff" id="context"> \section{The Flokk} </pre><pre class="diff" id="removed">-We defined flokk in Section~\ref{sec:what} of this document. </pre><pre class="diff" id="added">+The term flokk is defined in Section~\ref{sec:what} of this document. +\vspace{10.0pt} </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-\subsection{Characteristics of a Flokk} -The \ac{FLOKK} project anticipates that a programmer will want to -customize how the flokk behaves in certain situations. Here we list -possible properties of a flokk. - -\begin{itemize} - \item The number of agents in flokk - \item Percent of activity desired (i.e., cows don't move much, but geese - do) - \item the shape/size of the constrained area of the flokk - \item the density of the flokk - \item the leader of the flokk (has some control over the rest of the flokk) - \item the intelligence level of the agents in the flokk - \item interaction groups - allows a subset of the agents of the - flokk to interact with other flokks and/or external agents - \item external agents - agents not part of a flokk that exist in the world. -\end{itemize} - -\subsection{Structure of the Flokk} -\begin{itemize} -\item Is an Agent, thus inheriting the Agent structure as stated above. -\item Has a set of child Agents. -\item Has set of problems for its children Agents from which to choose. -\item Can assign a problem to a child. -\end{itemize} </pre><pre class="diff" id="added">+\noindent A flokk is in actuality an agent. A flokk is a specific type of agent: +an agent composed of many agents. The environment treats the flokk as +an single agent, and the flokk details with the multi-agent +system. Note that because a flokk is an agent it inherits the +characteristics and structure as noted in Section~\ref{sec:agent} </pre><pre class="diff" id="context"> \subsection{Motion Flokks} Is a flokk that holds locational agents as defined in Subsection \ref{subsec:locag}. The idea is that a motion flokk already has the </pre><pre class="diff" id="removed">-intelligence to handle moving agents. </pre><pre class="diff" id="added">+intelligence to handle moving agents. It does this using a motion +solver that \ac{FLOKK} has built in. The motion solver deals with +motion conflicts such as collision detection. It also aims to deal +with path finding, and spline interpolation. </pre><pre class="diff" id="context"> \section{The Problem} A problem causes an agent to behave in a manner in which the problem </pre><pre class="diff"><small id="info">@@ -106,4 +94,11 @@ </small></pre><pre class="diff" id="context"> when given to an agent, performs the solving with the agent following the instructions from the solver. </pre><pre class="diff" id="added">+As mentioned earlier, the programmer subclasses {\tt Problem} from +the \ac{FLOKK} library. The programmer overrides the {\tt solve( float dt )}, +{\tt reset( )}, and {\tt isSolved( )} methods. In {\tt solve( float dt + )}, the programmer defines how the object solves the problem. It +takes a {\tt float dt} representing the change in time since the last +update. The {\tt reset( )} function resets the problem back to being unsolved. + </pre><pre class="diff" id="context"> \newpage </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Andres R. <ar...@us...> - 2004-12-10 06:28:02
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/src/flokk</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">Agent.h</a></tt></td><td align="right" id="added">+18</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.21&content-type=text/vnd.viewcvs-markup">1.21</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h.diff?r1=1.21&r2=1.22">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.22&content-type=text/vnd.viewcvs-markup">1.22</a></td></tr> <tr class="alt"><td><tt><a href="#file2">LocationalAgent.cpp</a></tt></td><td align="right" id="added">+14</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></td></tr> <tr><td><tt><a href="#file3">LocationalAgent.h</a></tt></td><td align="right" id="added">+21</td><td align="right" id="removed">-5</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></td></tr> <tr class="alt"><td><tt><a href="#file4">MotionSolver.cpp</a></tt></td><td align="right" id="added">+5</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.18&content-type=text/vnd.viewcvs-markup">1.18</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.18&r2=1.19">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.19&content-type=text/vnd.viewcvs-markup">1.19</a></td></tr> <tr><td></td><td align="right" id="added">+58</td><td align="right" id="removed">-11</td><td></td></tr> </table> <small id="info">4 modified files</small><br /> <div class="tasklist"><ul> <li><a href="#task1">TODO: this should in theory be in the orientation matrix, but this is more handy</a></li> </ul></div> <pre class="comment"> forgot some stuff I guess ---------------------------------------------------------------------- </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>Agent.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.21&content-type=text/vnd.viewcvs-markup">1.21</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h.diff?r1=1.21&r2=1.22">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/Agent.h?rev=1.22&content-type=text/vnd.viewcvs-markup">1.22</a></small></div> <pre class="diff"><small id="info">diff -u -r1.21 -r1.22 --- Agent.h 5 Dec 2004 21:45:42 -0000 1.21 +++ Agent.h 10 Dec 2004 06:27:54 -0000 1.22 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: Agent.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/05 21:45:42 $ - * Version: $Revision: 1.21 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/10 06:27:54 $ + * Version: $Revision: 1.22 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -75,11 +75,27 @@ </small></pre><pre class="diff" id="context"> */ virtual void think( float dt ); </pre><pre class="diff" id="added">+ void setUserData( void * data ) + { + mUserData = data; + } + + const void * getUserData()const + { + return mUserData; + } + + void * getUserData() + { + return mUserData; + } + </pre><pre class="diff" id="context"> protected: Flokk* mParent; /*< Flock this agent belongs in. Null if root flokk. */ Problem* mDefaultProblem; /*< Agent's default Problem */ std::vector<Problem*> mProblems; /*< List of Problems to solve */ </pre><pre class="diff" id="added">+ void* mUserData; /*< miscellaneous data for convenience */ </pre><pre class="diff" id="context"> }; } </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>LocationalAgent.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp.diff?r1=1.7&r2=1.8">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.cpp?rev=1.8&content-type=text/vnd.viewcvs-markup">1.8</a></small></div> <pre class="diff"><small id="info">diff -u -r1.7 -r1.8 --- LocationalAgent.cpp 6 Dec 2004 12:05:13 -0000 1.7 +++ LocationalAgent.cpp 10 Dec 2004 06:27:54 -0000 1.8 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: LocationalAgent.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 12:05:13 $ - * Version: $Revision: 1.7 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/10 06:27:54 $ + * Version: $Revision: 1.8 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -41,6 +41,7 @@ </small></pre><pre class="diff" id="context"> mSpeed = 0; mDesiredSpeed = 0; mMaxSpeed = -1; </pre><pre class="diff" id="added">+ mDirection.set( 0,0,1 ); </pre><pre class="diff" id="context"> } LocationalAgent::~LocationalAgent() </pre><pre class="diff"><small id="info">@@ -131,5 +132,16 @@ </small></pre><pre class="diff" id="context"> { return mDesiredSpeed; } </pre><pre class="diff" id="added">+ + void LocationalAgent::setDirection( const gmtl::Vec3f & v ) + { + mDirection = v; + gmtl::normalize( mDirection ); + } + + const gmtl::Vec3f & LocationalAgent::getDirection()const + { + return mDirection; + } </pre><pre class="diff" id="context"> }; </pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>LocationalAgent.h</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.6&content-type=text/vnd.viewcvs-markup">1.6</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h.diff?r1=1.6&r2=1.7">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/LocationalAgent.h?rev=1.7&content-type=text/vnd.viewcvs-markup">1.7</a></small></div> <pre class="diff"><small id="info">diff -u -r1.6 -r1.7 --- LocationalAgent.h 6 Dec 2004 12:05:14 -0000 1.6 +++ LocationalAgent.h 10 Dec 2004 06:27:55 -0000 1.7 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: LocationalAgent.h,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/06 12:05:14 $ - * Version: $Revision: 1.6 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/10 06:27:55 $ + * Version: $Revision: 1.7 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -138,13 +138,26 @@ </small></pre><pre class="diff" id="context"> */ virtual void think( float dt ); </pre><pre class="diff" id="removed">- protected: </pre><pre class="diff" id="added">+ /** + * Sets the agent's current position to the value passed in. Should only + * be used initially for simulation setup. + */ + void setPosition( const gmtl::Point3f & p ); </pre><pre class="diff" id="context"> /** </pre><pre class="diff" id="removed">- * Sets the agent's current position to the value passed in. </pre><pre class="diff" id="added">+ * Sets the agent's current direction to the value passed in. Should only + * be used initially for simulation setup. </pre><pre class="diff" id="context"> */ </pre><pre class="diff" id="removed">- void setPosition( const gmtl::Point3f & p ); </pre><pre class="diff" id="added">+ void setDirection( const gmtl::Vec3f & v ); + + /** + * Returns the agent's current direction vector + */ + const gmtl::Vec3f & getDirection()const; + + protected: </pre><pre class="diff" id="context"> </pre><pre class="diff" id="added">+ </pre><pre class="diff" id="context"> /** * Sets the Agent's current speed to the value passed in. */ </pre><pre class="diff"><small id="info">@@ -158,6 +171,9 @@ </small></pre><pre class="diff" id="context"> gmtl::Point3f mPosition; /*< Current Position */ gmtl::Point3f mDesiredPosition; /*< Desired Position */ </pre><pre class="diff" id="added">+ <a name="task1" />+ //<span class="task">TODO</span>: this should in theory be in the orientation matrix, but this is more handy + gmtl::Vec3f mDirection; /*< Current Direction Vector */ </pre><pre class="diff" id="context"> float mSpeed; /*< Current Speed */ float mDesiredSpeed; /*< Desired Speed */ </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src">src</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk">flokk</a><br /></span> <div class="fileheader"><big><b>MotionSolver.cpp</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.18&content-type=text/vnd.viewcvs-markup">1.18</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp.diff?r1=1.18&r2=1.19">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/src/flokk/MotionSolver.cpp?rev=1.19&content-type=text/vnd.viewcvs-markup">1.19</a></small></div> <pre class="diff"><small id="info">diff -u -r1.18 -r1.19 --- MotionSolver.cpp 8 Dec 2004 23:23:23 -0000 1.18 +++ MotionSolver.cpp 10 Dec 2004 06:27:55 -0000 1.19 @@ -3,8 +3,8 @@ </small></pre><pre class="diff" id="context"> * * ----------------------------------------------------------------- * File: $RCSfile: MotionSolver.cpp,v $ </pre><pre class="diff" id="removed">- * Date modified: $Date: 2004/12/08 23:23:23 $ - * Version: $Revision: 1.18 $ </pre><pre class="diff" id="added">+ * Date modified: $Date: 2004/12/10 06:27:55 $ + * Version: $Revision: 1.19 $ </pre><pre class="diff" id="context"> * ----------------------------------------------------------------- * * </pre><pre class="diff"><small id="info">@@ -95,6 +95,9 @@ </small></pre><pre class="diff" id="context"> gmtl::LineSegf line; line.mOrigin = mMovements[i].currentPos; line.mDir = d; </pre><pre class="diff" id="added">+ + // update the agent's direction + mMovements[i].owner->setDirection( line.mDir ); </pre><pre class="diff" id="context"> gmtl::Point3f dest = mMovements[i].desiredPos; </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |
From: Stuart T. <dis...@us...> - 2004-12-10 05:31:20
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1">background.tex</a></tt></td><td align="right" id="added">+4</td><td align="right" id="removed">-36</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.10&r2=1.11">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a></td></tr> <tr class="alt"><td><tt><a href="#file2">design.tex</a></tt></td><td align="right" id="added">+25</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></td></tr> <tr><td></td><td align="right" id="added">+29</td><td align="right" id="removed">-38</td><td></td></tr> </table> <small id="info">2 modified files</small><br /> <pre class="comment"> more doc stuff </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.10&r2=1.11">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a></small></div> <pre class="diff"><small id="info">diff -u -r1.10 -r1.11 --- background.tex 10 Dec 2004 05:05:15 -0000 1.10 +++ background.tex 10 Dec 2004 05:31:11 -0000 1.11 @@ -1,7 +1,6 @@ </small></pre><pre class="diff" id="context"> \chapter{Introduction} \label{ch:bg} </pre><pre class="diff" id="removed">- -\section{Problem Statement} </pre><pre class="diff" id="added">+\section{Problem Statement}\label{sec:ps} </pre><pre class="diff" id="context"> Many real-time applications such as games, simulations, and visualizations involve large groups of agents. These large groups often need to perform actions in real-time with very good </pre><pre class="diff"><small id="info">@@ -36,34 +35,17 @@ </small></pre><pre class="diff" id="context"> concentrate on the goals themselves and not how the goals are distributed among the agent network. </pre><pre class="diff" id="removed">-\section{What is a flokk?} -\label{sec:what} - -We use the term \textbf{flokk} to refer to a flock, herd, school, or any -term referring to a group of autonomos agents. An \textbf{agent} is a member of -a flokk. An agent is (in our case) an animal, human, or some -dynamic character. The idea of the flokk is to control multiple agents -that interact together. Examples include a herd of sheeps, pigs in a -pig pen, birds in flight (in formation), and a school of fish. - -\section{Artificial Intelligence Concepts} - </pre><pre class="diff" id="added">+\section{Artificial Intelligence Concepts}\label{sec:aic} </pre><pre class="diff" id="context"> \acrodef{CPA}{Continuous planning agent} </pre><pre class="diff" id="removed">-\subsection{\ac{CPA}} </pre><pre class="diff" id="added">+\subsection{\ac{CPA}}\label{subsec:cpa} </pre><pre class="diff" id="context"> \ac{FLOKK} treats agents as {\bf \acl{CPA}s}. A \ac{CPA} creates new goals and reacts to changes in the environment in real-time. At each step the agent checks its available percepts. Then check the preconditions of the next action. If there is a conflict than the next action must be changed. </pre><pre class="diff" id="removed">-%gives an agent a goal to achieve. The agent achieves this goal by -%solving the problem. For example, say an agent wants to move from -%point A to point B for whatever reason. The agent says ``I am at point -%A. My problem is I want to be at point B.'' Then the agent uses it's -%knowledge of motion and its environment to solve this problem. - </pre><pre class="diff" id="context"> \acrodef{HTN}{Hierarchical task network} </pre><pre class="diff" id="removed">-\subsection{\ac{HTN} planning} </pre><pre class="diff" id="added">+\subsection{\ac{HTN} planning}<span id="addedchars">\label{htn}</span> </pre><pre class="diff" id="context"> In addition to handling individual problem solving, \ac{FLOKK} deals with the hierarchical structure desirable in a flokk. A \ac{HTN} allows problems to be passed down through the hierarchy of agents. </pre><pre class="diff"><small id="info">@@ -98,18 +80,4 @@ </small></pre><pre class="diff" id="context"> and by further division of the goal, with instructions to individual soldiers to carry out tasks. </pre><pre class="diff" id="removed">-%\subsection{Artificial Life} -%\begin{quote} -%Artificial Life ("AL" or "Alife") is the name given to a new -%discipline that studies "natural" life by attempting to recreate -%biological phenomena from scratch within computers and other -%"artificial" media. -% -%{\em -Chris G. Langton} -%\end{quote} -% -%FLOKK is useful for setting up an Alife system. Agents in the flokk -%interact with each other and their dynamic environment. FLOKK provides -%a simple API to give behavior to a group of communicating lifeforms (agents). - </pre><pre class="diff" id="context"> \newpage </pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.1&r2=1.2">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a></small></div> <pre class="diff"><small id="info">diff -u -r1.1 -r1.2 --- design.tex 6 Dec 2004 02:41:55 -0000 1.1 +++ design.tex 10 Dec 2004 05:31:11 -0000 1.2 @@ -1,8 +1,31 @@ </small></pre><pre class="diff" id="removed">-\chapter{Design} </pre><pre class="diff" id="added">+\chapter{The \ac{FLOKK} Library} </pre><pre class="diff" id="context"> \label{ch:dsn} </pre><pre class="diff" id="added">+\section{What is a flokk?} +\label{sec:what} +We use the term \textbf{flokk} to refer to a flock, herd, school, or any +term referring to a collection of autonomous agents. An \textbf{agent} +is a member of a flokk. An agent is (in our case) an animal, human, or +some dynamic character. The idea of the flokk is to control multiple +agents that interact together. Examples include a herd of sheeps, pigs +in a pig pen, birds in flight (in formation), and a school of fish. + +\section{Basis} +\acrodef{GMTL}{General Math Template Library} +The \ac{FLOKK} Library is based on the AI concepts of \acl{HTN} +planning and \acl{CPA} (Section~\ref{sec:aic}). \ac{FLOKK} uses these +concepts to address the problem statement in +Section~\ref{sec:ps}. \ac{FLOKK} is written in C++ and uses the +\ac{GMTL} to handle the math involved in with a three-dimensional +space. + +\ac{FLOKK} provides the programmer with an API to develop an +autonomous multi-agent system. FLOKK provides a set of abstract +classes which developers can subclass to customize the +flokk. Developers create their own set of problems to be distributed +through the flokk hierarchy. The problems lead </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-\section{The Agent} </pre><pre class="diff" id="context"> </pre><pre class="diff" id="added">+\section{The Agent} </pre><pre class="diff" id="context"> We defined agent in Section~\ref{sec:what} of this document. \subsection{Characteristics of an agent} </pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |