44 Commits

Author SHA1 Message Date
Michael L Smith
627569e6ed Tests / fixes for bindings being propagated on cloned objects 2016-03-05 18:22:58 -08:00
Michael L Smith
6e4c018df7 Fix for Cube/TranslatedObject cloning of bindings 2016-03-05 15:26:14 -08:00
Michael Smith
d8eb02ecc4 + Renamed Sizes class to Inches
+ In progress Bindings clone functionality
2016-03-04 22:36:14 -08:00
Michael Smith
047a6472b1 Text3D variable bindings. 2016-03-03 22:09:38 -08:00
Michael Smith
5726b63dec Added Cube binding constructor, test, corrected Sizes.InchesToMillimeters 2016-03-03 21:59:58 -08:00
Michael Smith
421694559f Added Cylinder variable-binding constructor, test + missed Height in binding. 2016-03-03 21:47:23 -08:00
Michael Smith
4c51ffc3f4 Replaced a bunch of conditionals with new method BindIfVariableNotNull 2016-03-03 21:27:56 -08:00
Michael L Smith
730b54d703 Added a sphere constructor that takes variables to pre-bind internal values 2016-03-03 19:51:01 -08:00
Michael Smith
255318fb07 + Added IBindable on OSCADObject and cascaded it down.
+ Removed redundant IBindable declaration on Solids
2016-02-29 23:58:31 -08:00
Michael Smith
54b8e6a686 + Text3D bindings
+ Text3D happy path binding tests
2016-02-29 23:52:25 -08:00
Michael Smith
53be8a6a1b Deleted unused method in Text3D 2016-02-29 23:18:18 -08:00
Michael Smith
5d9f7c2a65 + Bindings for all public Cylinder fields / tests 2016-02-29 23:17:18 -08:00
Michael L Smith
564a19a286 + In-progress Cube/center binding implementation 2016-02-29 21:52:13 -08:00
Michael L Smith
0989c4660c + Implemented Cube size bindings and synonyms for them 2016-02-29 21:16:21 -08:00
Michael Smith
0d578131d8 Added BindableVector 2016-02-29 19:25:33 -08:00
Michael Smith
f4ff157a63 + Moved Binding-related classes to Bindings folder 2016-02-29 18:47:24 -08:00
Michael Smith
d80e2c036a + Added bindings for the remainder of Sphere's properties
+ Tests for Sphere properties
2016-02-29 18:43:35 -08:00
Michael Smith
5487af3d95 Reworked Sphere to support binding either Diameter or Radius 2016-02-29 18:34:19 -08:00
Michael Smith
0994750fb4 Refactored Bindings.cs to use reflection and internal methods for logic / setting values. 2016-02-29 18:17:34 -08:00
Michael Smith
7e7affcad4 + Adjusted StatementBuilder to conditionally use bindings
+ Added Binding.cs
+ Added initial variable binding implementation to Sphere.cs
2016-02-27 15:55:13 -08:00
Michael Smith
59e1042345 Refactored Variables to be a dictionary of string:variable, added new accessor methods, then refactored to fix OSCADObject.ToFile's top section variable output test 2016-02-27 14:34:14 -08:00
Michael L Smith
a4613ea79d + Reworked Sphere to use StatementBuilder as well to conditionally output $f* values 2016-02-23 17:47:36 -08:00
Michael L Smith
3a7875ee51 + Reworked Cylinder so that if $f* values are omitted, they don't appear in output. 2016-02-22 20:36:15 -08:00
Michael L Smith
ddb0a319c9 + Refactored Text3D to use StatementBuilder 2016-02-22 20:12:04 -08:00
Michael L Smith
62a0a034a1 + Decided not to support Bounds() on Text3D objects, since there's a lot of work needed before it will be viable. 2016-02-22 18:32:17 -08:00
Michael Smith
847652a9c7 Added "Name" as an optional identifier for OSCADObjects 2016-02-21 16:30:59 -08:00
Michael L Smith
fd677aa909 + Initial Bounds implementation for Cube, Cylinder, Sphere and (sort of) Text3D 2016-02-20 23:19:28 -08:00
Michael L Smith
6865c19886 Added Bounds() on OSCADObject + initial stubs in derived classes. 2016-02-20 22:06:43 -08:00
Michael Smith
160986eb95 + Fix for a missing newline occurring for some solids in block statemants. 2016-02-17 22:31:51 -08:00
Michael L Smith
a71f28f5e4 Added lots of comments to get rid of the compiler warnings that appeared after turning XML docs on. 2016-02-17 21:29:10 -08:00
Michael L Smith
8831610bda + Implemented Position on Cylinder, Sphere, Text3D
+ Made the executive decision that Text3D in OSCADSharp is always centered in script output, to facilitate correct position calculation.
2016-02-15 21:00:43 -08:00
Mike Smith
2a7ee3ab63 Added Cube position, Translate interpolation 2016-02-14 23:27:53 -08:00
Mike Smith
49d2de3046 + Added new abstract 'position' method to OSCADObject, overrides on all pertinent classes. (Not implemented yet) 2016-02-14 23:00:27 -08:00
Mike Smith
1402690f2d Fix for missing Diameter value assignment in Cylinder constructor 2016-02-14 18:36:55 -08:00
Mike Smith
81b49cf994 Renamed BlockFormatter -> SingleBlockFormatter
BlockStatementObject -> MultiBlockStatementObject
2016-02-14 11:26:47 -08:00
Mike Smith
8fe459a5ba + Deleted Equals and GetHashCode overrides in Cube/Sphere.
+ Added an IsSameAs method to OSCADObject
+ Modified tests accordingly
2016-02-13 13:01:02 -08:00
Mike Smith
7d59afbdd9 + Added some tests for Cube
+ Adjusted some of the Sphere tests
+ Overrides for .Equals and .GetHashCode on Cube and Sphere
2016-02-12 18:16:00 -08:00
Mike Smith
7efd7f161d + Added a Clone() test for Sphere 2016-02-12 17:02:21 -08:00
Mike Smith
55bb5ba558 Shifted Text3D to Solids folder/namespace 2016-02-10 23:17:21 -08:00
Mike Smith
03ea1c3cb6 Added some constructors for common ways to create simple solids 2016-02-10 23:16:20 -08:00
Mike Smith
1449cdd2b2 Added Clone() method to OSCADObject and all descendants 2016-02-07 22:04:05 -08:00
Mike Smith
f585e017c2 Added BlockFormatter, updated string construction for ColoredObject (More to follow) 2016-02-07 11:00:27 -08:00
Mike Smith
6288a63fdd ToString methods for solids 2016-02-07 01:02:03 -08:00
Mike Smith
ff4da516e5 Added basic solids:
- Cube
- Cylinder
- Sphere

As well as Vector3
2016-02-07 00:42:14 -08:00