Revision: 54516
          http://brlcad.svn.sourceforge.net/brlcad/?rev=54516&view=rev
Author:   indianlarry
Date:     2013-03-01 18:06:27 +0000 (Fri, 01 Mar 2013)
Log Message:
-----------
Cleaned up several functions to pass parameters as references.  Added points 
collection cleanup in destructor ~sweep_context().

Modified Paths:
--------------
    brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.cc
    brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.h
    brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.cc
    brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.h

Modified: brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.cc
===================================================================
--- brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.cc       2013-03-01 
17:31:28 UTC (rev 54515)
+++ brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.cc       2013-03-01 
18:06:27 UTC (rev 54516)
@@ -32,13 +32,13 @@
 
 namespace p2t {
 
-CDT::CDT(std::vector<Point*> polyline)
+CDT::CDT(std::vector<Point*> &polyline)
 {
   sweep_context_ = new SweepContext(polyline);
   sweep_ = new Sweep;
 }
 
-void CDT::AddHole(std::vector<Point*> polyline)
+void CDT::AddHole(std::vector<Point*> &polyline)
 {
   sweep_context_->AddHole(polyline);
 }
@@ -52,12 +52,12 @@
   sweep_->Triangulate(*sweep_context_);
 }
 
-std::vector<p2t::Triangle*> CDT::GetTriangles()
+std::vector<p2t::Triangle*>& CDT::GetTriangles()
 {
   return sweep_context_->GetTriangles();
 }
 
-std::list<p2t::Triangle*> CDT::GetMap()
+std::list<p2t::Triangle*>& CDT::GetMap()
 {
   return sweep_context_->GetMap();
 }

Modified: brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.h
===================================================================
--- brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.h        2013-03-01 
17:31:28 UTC (rev 54515)
+++ brlcad/trunk/src/other/poly2tri/poly2tri/sweep/cdt.h        2013-03-01 
18:06:27 UTC (rev 54516)
@@ -53,7 +53,7 @@
    *
    * @param polyline
    */
-  CDT(std::vector<Point*> polyline);
+  CDT(std::vector<Point*> &polyline);
 
    /**
    * Destructor - clean up memory
@@ -65,7 +65,7 @@
    *
    * @param polyline
    */
-  void AddHole(std::vector<Point*> polyline);
+  void AddHole(std::vector<Point*> &polyline);
 
   /**
    * Add a steiner point
@@ -82,12 +82,12 @@
   /**
    * Get CDT triangles
    */
-  std::vector<Triangle*> GetTriangles();
+  std::vector<Triangle*>& GetTriangles();
 
   /**
    * Get triangle map
    */
-  std::list<Triangle*> GetMap();
+  std::list<Triangle*>& GetMap();
 
   private:
 

Modified: brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.cc
===================================================================
--- brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.cc     
2013-03-01 17:31:28 UTC (rev 54515)
+++ brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.cc     
2013-03-01 18:06:27 UTC (rev 54516)
@@ -34,12 +34,12 @@
 
 namespace p2t {
 
-SweepContext::SweepContext(std::vector<Point*> polyline) : points_(polyline)
+SweepContext::SweepContext(std::vector<Point*> &polyline) : points_(polyline)
 {
   InitEdges(points_);
 }
 
-void SweepContext::AddHole(std::vector<Point*> polyline)
+void SweepContext::AddHole(std::vector<Point*> &polyline)
 {
   InitEdges(polyline);
   for(unsigned int i = 0; i < polyline.size(); i++) {
@@ -51,12 +51,12 @@
   points_.push_back(point);
 }
 
-std::vector<Triangle*> SweepContext::GetTriangles()
+std::vector<Triangle*>& SweepContext::GetTriangles()
 {
   return triangles_;
 }
 
-std::list<Triangle*> SweepContext::GetMap()
+std::list<Triangle*>& SweepContext::GetMap()
 {
   return map_;
 }
@@ -89,7 +89,7 @@
 
 }
 
-void SweepContext::InitEdges(std::vector<Point*> polyline)
+void SweepContext::InitEdges(std::vector<Point*> &polyline)
 {
   size_t num_points = polyline.size();
   for (size_t i = 0; i < num_points; i++) {
@@ -114,10 +114,9 @@
   return *front_->LocateNode(point.x);
 }
 
-void SweepContext::CreateAdvancingFront(std::vector<Node*> nodes)
+void SweepContext::CreateAdvancingFront(std::vector<Node*> &nodes)
 {
 
-  (void) nodes;
   // Initial triangle
   Triangle* triangle = new Triangle(*points_[0], *tail_, *head_);
 
@@ -191,7 +190,7 @@
      for(unsigned int i = 0; i < edge_list.size(); i++) {
         delete edge_list[i];
     }
-
+    points_.clear();
 }
 
 }
\ No newline at end of file

Modified: brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.h
===================================================================
--- brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.h      
2013-03-01 17:31:28 UTC (rev 54515)
+++ brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep_context.h      
2013-03-01 18:06:27 UTC (rev 54516)
@@ -52,7 +52,7 @@
 public:
 
 /// Constructor
-SweepContext(std::vector<Point*> polyline);
+SweepContext(std::vector<Point*> &polyline);
 /// Destructor
 ~SweepContext();
 
@@ -70,7 +70,7 @@
 
 void RemoveNode(Node* node);
 
-void CreateAdvancingFront(std::vector<Node*> nodes);
+void CreateAdvancingFront(std::vector<Node*> &nodes);
 
 /// Try to map a node to all sides of this triangle that don't have a neighbor
 void MapTriangleToNodes(Triangle& t);
@@ -83,7 +83,7 @@
 
 void RemoveFromMap(Triangle* triangle);
 
-void AddHole(std::vector<Point*> polyline);
+void AddHole(std::vector<Point*> &polyline);
 
 void AddPoint(Point* point);
 
@@ -91,8 +91,8 @@
 
 void MeshClean(Triangle& triangle);
 
-std::vector<Triangle*> GetTriangles();
-std::list<Triangle*> GetMap();
+std::vector<Triangle*>& GetTriangles();
+std::list<Triangle*>& GetMap();
 
 std::vector<Edge*> edge_list;
 
@@ -147,7 +147,7 @@
 Node *af_head_, *af_middle_, *af_tail_;
 
 void InitTriangulation();
-void InitEdges(std::vector<Point*> polyline);
+void InitEdges(std::vector<Point*> &polyline);
 
 };
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to