From f82f52a0315ead64b143564ccd8e1e9bcf914cef Mon Sep 17 00:00:00 2001 From: Hartmut Seichter Date: Thu, 17 Jan 2019 14:18:17 +0100 Subject: [PATCH] fix for meshes --- src/core/include/pw/core/mesh.hpp | 5 +++++ src/geometry/src/primitives.cpp | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/core/include/pw/core/mesh.hpp b/src/core/include/pw/core/mesh.hpp index e2b5852..2cbca2d 100644 --- a/src/core/include/pw/core/mesh.hpp +++ b/src/core/include/pw/core/mesh.hpp @@ -51,10 +51,15 @@ public: const indexarray_t& indices() const { return _indices; } const vertex3array_t& vertices() const { return _vertices; } + void set_topology(topology_type t) { _topology = t; } + topology_type topology() { return _topology; } + void reset(); protected: + topology_type _topology; + indexarray_t _indices; //!< indices according to topology type vertex3array_t _vertices; //!< geometry data vertex3array_t _normals; //!< normal data diff --git a/src/geometry/src/primitives.cpp b/src/geometry/src/primitives.cpp index 86381c1..c099cb6 100644 --- a/src/geometry/src/primitives.cpp +++ b/src/geometry/src/primitives.cpp @@ -46,12 +46,10 @@ mesh primitives::sphere(real_t radius,int divisions_latitude,int divisions_longi const real_t _division_lat = real_t(360.0) / divisions_latitude; const real_t _division_lon = real_t(360.0) / divisions_longitude; -// res = new tpPrimitive(tpPrimitive::kTriangleStrip); + mesh geom; - //res->setPrimitiveType(tpPrimitive::kLineStrip); + geom.set_topology(mesh::topology_type::triangle_strip); -// real_t _latitude, _longitude; - real_t dToR; real_t x, y, z; for (real_t _latitude = 0; _latitude < 360; _latitude += _division_lat) @@ -62,6 +60,7 @@ mesh primitives::sphere(real_t radius,int divisions_latitude,int divisions_longi y = sin ( deg_to_rad(_latitude + _division_lat) ); z = cos ( deg_to_rad(_longitude) * cos ( deg_to_rad(_latitude + _division_lat) ) ); +// geom. // assign the second normal and vertex // res->addVertexNormal(tpVec3r(x * radius,y * radius,z * radius), // tpVec3r(x,y,z)