From b81d72acb0e63dc0ef81cf8ef972c40719d3674e Mon Sep 17 00:00:00 2001 From: clifford Date: Thu, 14 Jan 2010 10:15:22 +0000 Subject: Clifford Wolf: Added == support for all value types git-svn-id: http://svn.clifford.at/openscad/trunk@286 b57f626f-c46c-0410-a088-ec61d464b74c diff --git a/examples/example017.scad b/examples/example017.scad index 98e540f..9013d4e 100644 --- a/examples/example017.scad +++ b/examples/example017.scad @@ -1,4 +1,11 @@ +// To render the DXF file from the command line: +// openscad -x example017.dxf -D'mode="parts"' example017.scad + +// mode = "parts"; +// mode = "exploded"; +mode = "assembled"; + thickness = 6; locklen1 = 15; locklen2 = 10; @@ -139,6 +146,12 @@ module assembled() % translate([ 0, 0, thickness*2]) bottle(); } -// parts(); -// exploded(); -assembled(); +if (mode == "parts") + parts(); + +if (mode == "exploded") + exploded(); + +if (mode == "assembled") + assembled(); + diff --git a/value.cc b/value.cc index 2778e58..f51b057 100644 --- a/value.cc +++ b/value.cc @@ -203,18 +203,27 @@ Value Value::operator == (const Value &v) const if (type == NUMBER && v.type == NUMBER) { return Value(num == v.num); } - return Value(); + if (type == RANGE && v.type == RANGE) { + return Value(range_begin == v.range_begin && range_step == v.range_step && range_end == v.range_end); + } + if (type == VECTOR && v.type == VECTOR) { + if (vec.size() != v.vec.size()) + return Value(false); + for (int i=0; i= (const Value &v) const -- cgit v0.10.1