Merge branch 'points-as-db-objects'

This commit is contained in:
Matthias Koefferlein
2022-12-07 21:59:02 +01:00
19 changed files with 613 additions and 31 deletions
+26
View File
@@ -31,6 +31,8 @@ class DBEdgePair_TestClass < TestBase
ep = RBA::EdgePair::new
assert_equal(ep.to_s, "(0,0;0,0)/(0,0;0,0)")
assert_equal(ep.to_s, "(0,0;0,0)/(0,0;0,0)")
ep.first = RBA::Edge::new(0, 0, 10, 20)
assert_equal(ep.to_s, "(0,0;10,20)/(0,0;0,0)")
@@ -57,6 +59,18 @@ class DBEdgePair_TestClass < TestBase
assert_equal(ep.simple_polygon(0).to_s, "(-10,0;-10,30;0,0;10,20)")
assert_equal(ep.simple_polygon(0).class.to_s, "RBA::SimplePolygon")
ep = RBA::EdgePair::new(RBA::Edge::new(0, 0, 10, 0), RBA::Edge::new(0, 20, 0, 0))
assert_equal(ep.perimeter, 30)
assert_equal(ep.area, 100)
assert_equal(ep.simple_polygon(0).area, 100)
ep = RBA::EdgePair::new(RBA::Edge::new(0, 0, 10, 0), RBA::Edge::new(0, 0, 0, 20))
assert_equal(ep.perimeter, 30)
assert_equal(ep.area, 0)
assert_equal(ep.simple_polygon(0).area, 0)
end
# Basics
@@ -92,6 +106,18 @@ class DBEdgePair_TestClass < TestBase
assert_equal(ep.simple_polygon(0).to_s, "(-10,0;-10,30;0,0;10,20)")
assert_equal(ep.simple_polygon(0).class.to_s, "RBA::DSimplePolygon")
ep = RBA::DEdgePair::new(RBA::DEdge::new(0, 0, 10, 0), RBA::DEdge::new(0, 20, 0, 0))
assert_equal(ep.perimeter, 30)
assert_equal(ep.area, 100)
assert_equal(ep.simple_polygon(0).area, 100)
ep = RBA::DEdgePair::new(RBA::DEdge::new(0, 0, 10, 0), RBA::DEdge::new(0, 0, 0, 20))
assert_equal(ep.perimeter, 30)
assert_equal(ep.area, 0)
assert_equal(ep.simple_polygon(0).area, 0)
end
# Fuzzy compare
+63
View File
@@ -158,6 +158,9 @@ class DBShapes_TestClass < TestBase
shapes.each( RBA::Shapes::SEdges ) { |s| arr.push( s ) }
assert_equal( arr.size, 0 )
arr = []
shapes.each( RBA::Shapes::SPoints ) { |s| arr.push( s ) }
assert_equal( arr.size, 0 )
arr = []
shapes.each( RBA::Shapes::SBoxes ) { |s| arr.push( s ) }
assert_equal( arr.size, 1 )
assert_equal( arr[0].prop_id, 0 )
@@ -166,6 +169,7 @@ class DBShapes_TestClass < TestBase
assert_equal( arr[0].type, RBA::Shape::t_box )
assert_equal( arr[0].polygon.to_s, "(10,-10;10,40;50,40;50,-10)" )
assert_equal( arr[0].simple_polygon.to_s, "(10,-10;10,40;50,40;50,-10)" )
assert_equal( arr[0].point.inspect, "nil" )
assert_equal( arr[0].edge.inspect, "nil" )
assert_equal( arr[0].edge_pair.inspect, "nil" )
assert_equal( arr[0].box.to_s, "(10,-10;50,40)" )
@@ -190,6 +194,7 @@ class DBShapes_TestClass < TestBase
assert_equal( arr[0].is_edge?, true )
assert_equal( arr[0].polygon.inspect, "nil" )
assert_equal( arr[0].simple_polygon.inspect, "nil" )
assert_equal( arr[0].point.inspect, "nil" )
assert_equal( arr[0].edge.to_s, "(-1,2;5,2)" )
assert_equal( arr[0].edge_pair.inspect, "nil" )
assert_equal( arr[0].box.inspect, "nil" )
@@ -217,6 +222,7 @@ class DBShapes_TestClass < TestBase
assert_equal( arr[0].polygon.inspect, "nil" )
assert_equal( arr[0].simple_polygon.inspect, "nil" )
assert_equal( arr[0].edge_pair.to_s, "(-1,2;5,2)/(-1,5;5,5)" )
assert_equal( arr[0].point.inspect, "nil" )
assert_equal( arr[0].edge.inspect, "nil" )
assert_equal( arr[0].box.inspect, "nil" )
assert_equal( arr[0].path.inspect, "nil" )
@@ -228,6 +234,33 @@ class DBShapes_TestClass < TestBase
assert_equal( arr.size, 1 )
assert_equal( arr[0].is_box?, true )
# points
a = RBA::Point::new( -1, 2 )
c1.shapes( lindex ).insert( a )
arr = []
shapes.each( RBA::Shapes::SPoints ) { |s| arr.push( s ) }
assert_equal( arr.size, 1 )
assert_equal( arr[0].prop_id, 0 )
assert_equal( arr[0].has_prop_id?, false )
assert_equal( arr[0].is_null?, false )
assert_equal( arr[0].type, RBA::Shape::t_point )
assert_equal( arr[0].is_point?, true )
assert_equal( arr[0].polygon.inspect, "nil" )
assert_equal( arr[0].simple_polygon.inspect, "nil" )
assert_equal( arr[0].point.to_s, "-1,2" )
assert_equal( arr[0].edge.inspect, "nil" )
assert_equal( arr[0].edge_pair.inspect, "nil" )
assert_equal( arr[0].box.inspect, "nil" )
assert_equal( arr[0].path.inspect, "nil" )
assert_equal( arr[0].text.inspect, "nil" )
assert_equal( arr[0].point == a, true )
assert_equal( arr[0].bbox == RBA::Box::new(a, a), true )
arr = []
shapes.each( RBA::Shapes::SBoxes ) { |s| arr.push( s ) }
assert_equal( arr.size, 1 )
assert_equal( arr[0].is_box?, true )
# paths
a = RBA::Path::new( [ RBA::Point::new( 0, 10 ), RBA::Point::new( 10, 50 ) ], 25 )
@@ -486,6 +519,9 @@ class DBShapes_TestClass < TestBase
shapes.each( RBA::Shapes::SEdges ) { |s| arr.push( s ) }
assert_equal( arr.size, 0 )
arr = []
shapes.each( RBA::Shapes::SPoints ) { |s| arr.push( s ) }
assert_equal( arr.size, 0 )
arr = []
shapes.each( RBA::Shapes::SBoxes ) { |s| arr.push( s ) }
assert_equal( arr.size, 1 )
assert_equal( arr[0].prop_id, 0 )
@@ -543,6 +579,7 @@ class DBShapes_TestClass < TestBase
assert_equal( arr[0].is_edge_pair?, true )
assert_equal( arr[0].dpolygon.inspect, "nil" )
assert_equal( arr[0].dsimple_polygon.inspect, "nil" )
assert_equal( arr[0].dpoint.inspect, "nil" )
assert_equal( arr[0].dedge_pair.to_s, "(-0.001,0.002;0.005,0.002)/(-0.001,0.005;0.005,0.005)" )
assert_equal( arr[0].dedge.inspect, "nil" )
assert_equal( arr[0].dbox.inspect, "nil" )
@@ -554,6 +591,32 @@ class DBShapes_TestClass < TestBase
assert_equal( arr.size, 1 )
assert_equal( arr[0].is_box?, true )
# points
a = RBA::DPoint::new( -1, 2 )
c1.shapes( lindex ).insert( a )
arr = []
shapes.each( RBA::Shapes::SPoints ) { |s| arr.push( s ) }
assert_equal( arr.size, 1 )
assert_equal( arr[0].prop_id, 0 )
assert_equal( arr[0].has_prop_id?, false )
assert_equal( arr[0].is_null?, false )
assert_equal( arr[0].type, RBA::Shape::t_point )
assert_equal( arr[0].is_point?, true )
assert_equal( arr[0].dpolygon.inspect, "nil" )
assert_equal( arr[0].dsimple_polygon.inspect, "nil" )
assert_equal( arr[0].dpoint.to_s, "-1,2" )
assert_equal( arr[0].dedge.inspect, "nil" )
assert_equal( arr[0].dedge_pair.inspect, "nil" )
assert_equal( arr[0].dbox.inspect, "nil" )
assert_equal( arr[0].dpath.inspect, "nil" )
assert_equal( arr[0].dtext.inspect, "nil" )
assert_equal( arr[0].dbbox.to_s, "(-1,2;-1,2)" )
arr = []
shapes.each( RBA::Shapes::SBoxes ) { |s| arr.push( s ) }
assert_equal( arr.size, 1 )
assert_equal( arr[0].is_box?, true )
# paths
a = RBA::DPath::new( [ RBA::DPoint::new( 0, 0.010 ), RBA::DPoint::new( 0.010, 0.050 ) ], 0.025 )