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