clipping test

Hunk86

Cadet 4th Year
Registriert
Feb. 2010
Beiträge
121
Hallo zusammen,

schreib mir grad mit googletest ein 2d clipping test betreff geschwindigkeit.
Code:
int main(void)
{
    using namespace boost::geometry;

    // Define a polygon and fill the outer ring.
    // In most cases you will read it from a file or database
    polygon_2d poly;
    {
        const double coor[][2] = {
            {2.0, 1.3}, {2.4, 1.7}, {2.8, 1.8}, {3.4, 1.2}, {3.7, 1.6},
            {3.4, 2.0}, {4.1, 3.0}, {5.3, 2.6}, {5.4, 1.2}, {4.9, 0.8}, {2.9, 0.7},
            {2.0, 1.3} // closing point is opening point
            };
        assign(poly, coor);
    }

so initialisieren sie das polygon bei boost im tutorial http://geometrylibrary.geodan.nl/03__polygon__example_8cpp-example.html

Code:
TEST(TestClipping, Boost)
{

	using namespace boost::geometry;

	for(int i=0;i<1000000;i++){

	    // Define a polygon and fill the outer ring.
	    // In most cases you will read it from a file or database
		polygon_2d poly;
	    {
	        const double coor[][2] = {{0.0, 0.0}, {50.0, 0.0}, {50.0, 200.0}, {0.0, 200.0}  // closing point is opening point
	            };
	        assign(poly, coor);
	    }

	}

}

wollte ich so umsetzen. Jedoch ifnder er das polygon_2d net... und ich raff absolut net wieso... ich nutz doch genauso den namespace

Oder steh ich grad total auf dem schlauch?
 
Keine Ahnung, nimm halt den voll-qualifizierten Namen. Die immer mit ihrem Sch*** using namespace in ihren Beispielen. Da weiß man häufig gar nicht mehr, in welchem Namespace diverse Typen überhaupt stecken sollen.
Ergänzung ()

P.S. Hast du boost/geometry/geometries/cartesian2d.hpp inkludiert? Laut Dokumentation ist polygon_2d in dem Header definiert.
 
abend

also es liegt an der cartesian2d.hpp file

ich hab die irgendwie nicht. Hab grad noch des neue boost drauf gehauen und unter usr/include/boost ist die datei einfach nicht vorhanden andere hab ich...

woran kann das liegen?

ich raff es grad nicht

kann es sein das boost nicht dahin installiert und darin noch die alte version ist?

wenn ich mir boost version ausgeben lasse hab ich die aktuelle
 
Es gibt bei dir also keine Datei /usr/include/boost/geometry/geometries/cartesian2d.hpp? Schau noch mal genau nach ... die Datei liegt nicht direkt in /usr/include/boost/ sondern noch tiefer unten im Verzeichnisbaum.


P.S. Ok, ich habe gerade mal in meiner boost-Installation gesucht (Version 1.53.0) ... und bei mir fehlt sie auch!
Ergänzung ()

Möglicherweise ist das Tutorial einfach veraltet, und boost.geometry ist zwischenzeitlich etwas umstrukturiert worden.

Zwanzigstes P.S. : Vielleicht hilft dir das weiter: http://stackoverflow.com/questions/...rsion-of-boost-and-boost-geometry-library-ggl
 
Zuletzt bearbeitet:
Zurück
Oben