Commit Graph

  • 8fa6a42040 Merge pull request #3 from Exolun/Feature/VariableBindings Michael Smith 2016-03-02 21:28:06 -08:00
  • 627d60c314 + Parameterized bindings for Translate Michael Smith 2016-03-02 21:23:38 -08:00
  • 534bba1408 + Parameterized bindings for Rotate, scale Michael L Smith 2016-03-02 21:01:34 -08:00
  • cc293b1638 Parameterized bindings for color, mirror, resize. Michael L Smith 2016-03-02 20:42:37 -08:00
  • 892fccdf7e + Added Color overload to automatically bind variables to passed-in values Michael L Smith 2016-03-02 19:24:24 -08:00
  • 13dbc41149 Bindings for: + Mirror + Resize + Scale + Rotate + Translate Michael L Smith 2016-03-02 19:07:29 -08:00
  • 7f7447e633 Bindings for Color Michael L Smith 2016-03-01 18:30:42 -08:00
  • 8eba76a670 NotSupportedException on MultiStatementObject base class bind method Michael L Smith 2016-03-01 18:20:48 -08:00
  • 255318fb07 + Added IBindable on OSCADObject and cascaded it down. + Removed redundant IBindable declaration on Solids Michael Smith 2016-02-29 23:58:31 -08:00
  • 54b8e6a686 + Text3D bindings + Text3D happy path binding tests Michael Smith 2016-02-29 23:52:25 -08:00
  • 53be8a6a1b Deleted unused method in Text3D Michael Smith 2016-02-29 23:18:18 -08:00
  • 5d9f7c2a65 + Bindings for all public Cylinder fields / tests Michael Smith 2016-02-29 23:17:18 -08:00
  • 564a19a286 + In-progress Cube/center binding implementation Michael L Smith 2016-02-29 21:52:13 -08:00
  • 0989c4660c + Implemented Cube size bindings and synonyms for them Michael L Smith 2016-02-29 21:16:21 -08:00
  • 0d578131d8 Added BindableVector Michael Smith 2016-02-29 19:25:33 -08:00
  • f4ff157a63 + Moved Binding-related classes to Bindings folder Michael Smith 2016-02-29 18:47:24 -08:00
  • d80e2c036a + Added bindings for the remainder of Sphere's properties + Tests for Sphere properties Michael Smith 2016-02-29 18:43:35 -08:00
  • 5487af3d95 Reworked Sphere to support binding either Diameter or Radius Michael Smith 2016-02-29 18:34:19 -08:00
  • 0994750fb4 Refactored Bindings.cs to use reflection and internal methods for logic / setting values. Michael Smith 2016-02-29 18:17:34 -08:00
  • cf189fb075 Typo fix Michael L Smith 2016-02-28 15:26:03 -08:00
  • ee75d6a6b7 Shifted a few settings/dependency related files to Settings folder Michael L Smith 2016-02-28 15:15:25 -08:00
  • da558ce75f Refactored getOpenSCADPath out to OpenSCADPathFinder Michael L Smith 2016-02-28 15:12:38 -08:00
  • 26f4d70876 Added getOpenSCADPath method to discover path to OpenSCAD executable amongst multiple options Michael L Smith 2016-02-28 15:08:27 -08:00
  • 7e7affcad4 + Adjusted StatementBuilder to conditionally use bindings + Added Binding.cs + Added initial variable binding implementation to Sphere.cs Michael Smith 2016-02-27 15:55:13 -08:00
  • 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 Michael Smith 2016-02-27 14:34:14 -08:00
  • 6b628d9bca Test for .Open() if file path is invalid. Michael Smith 2016-02-26 18:11:56 -08:00
  • d5ec961cb1 Removed Bind method from OSCADObject, added IBindable, Binding.cs, and BindingMapper stubs. Michael Smith 2016-02-25 23:52:16 -08:00
  • 963a58783a Updated Vector3.ToString to match OpenSCAD's vector format of plain [x, y, z] Michael Smith 2016-02-25 22:58:20 -08:00
  • 4f0d3ed1be +Added Variable class, Bind method to OSCADObject Michael Smith 2016-02-25 22:51:39 -08:00
  • eb49310d8a Changed the dictionary in Variables.cs to a ConcurrentDictionary Michael L Smith 2016-02-25 17:56:05 -08:00
  • 9f11c39986 + Added SingleStatementObject (abstract) between OSCADObject and repetetive single-objectt transforms. + Shifted basic parent/child/object reference assignments to SingleStatementObject Michael Smith 2016-02-24 23:30:21 -08:00
  • 763479985b Renamed MultiBlockStatementObject to simply 'MultiStatementObject' Michael Smith 2016-02-24 23:18:54 -08:00
  • 2976110f05 Shifted references to IFileInvoker to Dependencies.cs, added factory func to Dependencies.cs for providing IFileInvoker. Michael Smith 2016-02-24 23:17:35 -08:00
  • 8b05e2af6a Shifted Settings.Globals to Variables.Global Michael Smith 2016-02-24 23:04:05 -08:00
  • ac6f3c2f51 Shifted FileInvoker/Writer classes to /Files, updated namespace to OSCADSharp.Files Michael Smith 2016-02-24 22:51:32 -08:00
  • 4474d43532 Added DefaultFileInvoker, updated FileInvoker, made OSCADObject return a fileInvoker from .ToFile Michael Smith 2016-02-24 22:48:54 -08:00
  • 9305dcf5ec Reversed a weird change to one OSCADObject test Michael L Smith 2016-02-24 21:38:22 -08:00
  • 8678c3293d Added a test / changes to ensure null globals and/or null variable names do not affect outputs. Michael L Smith 2016-02-24 21:36:44 -08:00
  • 052760ecf1 Added IFileInvoker Michael L Smith 2016-02-24 21:31:22 -08:00
  • dc9db3b8ef Merge pull request #2 from Exolun/SettingsOutput Michael Smith 2016-02-24 11:46:03 -08:00
  • 0237d9f35b Mocked some FileWriters for settings output tests. Michael Smith 2016-02-24 00:53:41 -08:00
  • 05e73130b6 Added Moq to UnitTests project via NuGet Michael Smith 2016-02-23 22:00:56 -08:00
  • 7e5160d701 Extracted IFileWriter for OSCADObject.ToFile Included default implementation for IFileWriter and replaceable reference in Settings.cs Michael Smith 2016-02-23 21:59:17 -08:00
  • 4532e7b20d Added Variables class, Settings class, settings/header output in OSCADObject.ToFile Michael L Smith 2016-02-23 19:14:50 -08:00
  • 8506459939 + Added internal Parent reference / made assignments to it when operations occur Michael L Smith 2016-02-23 18:02:24 -08:00
  • a4613ea79d + Reworked Sphere to use StatementBuilder as well to conditionally output $f* values Michael L Smith 2016-02-23 17:47:36 -08:00
  • 3a7875ee51 + Reworked Cylinder so that if $f* values are omitted, they don't appear in output. Michael L Smith 2016-02-22 20:36:15 -08:00
  • ddb0a319c9 + Refactored Text3D to use StatementBuilder Michael L Smith 2016-02-22 20:12:04 -08:00
  • 0e47d85f42 + Added StatementBuilder for use in places where we'll be doing a lot more conditional output construction. Michael L Smith 2016-02-22 19:22:04 -08:00
  • 4527a3cd33 + Position() on resized objects is now supported via the averaging of Bounds() positions. Michael L Smith 2016-02-22 18:43:26 -08:00
  • 62a0a034a1 + Decided not to support Bounds() on Text3D objects, since there's a lot of work needed before it will be viable. Michael L Smith 2016-02-22 18:32:17 -08:00
  • 96693e062b Added optional recursive flag to Children() to allow selection of immediate children instead of all descendants. Michael Smith 2016-02-21 20:27:56 -08:00
  • 511cb45b6f + Removed Mimic, because it doesn't really make sense with the new Position() and Bounds() features Michael Smith 2016-02-21 20:08:17 -08:00
  • 8c5dde2ce7 Added a couple tests for child name retention after clone. Michael Smith 2016-02-21 19:59:20 -08:00
  • 847652a9c7 Added "Name" as an optional identifier for OSCADObjects Michael Smith 2016-02-21 16:30:59 -08:00
  • 135ab5072a Added Bounds.Length, Width, Height Michael Smith 2016-02-21 15:20:27 -08:00
  • 28bb1736e9 Added .ToFile(path) on OSCADObject Michael Smith 2016-02-21 11:39:36 -08:00
  • cce795332f Basic Bounds implementations for most transforms and booleans + some test updates. Michael Smith 2016-02-21 01:22:44 -08:00
  • fd677aa909 + Initial Bounds implementation for Cube, Cylinder, Sphere and (sort of) Text3D Michael L Smith 2016-02-20 23:19:28 -08:00
  • 6865c19886 Added Bounds() on OSCADObject + initial stubs in derived classes. Michael L Smith 2016-02-20 22:06:43 -08:00
  • 4dc79e8bc2 + Added an auto-incrementing Id to OSCADObjects Michael L Smith 2016-02-20 14:21:41 -08:00
  • e62111b1df + Updated release build configuration to output XML docs too Michael L Smith 2016-02-20 13:43:09 -08:00
  • 0141538a2d Added NotSupportedException on ResizedObject.Position Michael Smith 2016-02-19 17:48:28 -08:00
  • 80c400dee8 Fix for an issue where Rotating/Translating an object, then using Scale would yield the wrong Position() value. Michael Smith 2016-02-19 17:33:30 -08:00
  • f1f699afe4 Moved a bunch of tests into folders Michael Smith 2016-02-18 22:19:03 -08:00
  • 1bd6ad3543 + Updated Difference's Position() behavior to return the position of the first child (object being differenced) Michael Smith 2016-02-17 22:57:20 -08:00
  • 69a739c12f + Added some + and - operator tests + Adjusted behavior so that using + or - repeatedly adds to the same Union/Difference object instead of a nasty nested chain Michael Smith 2016-02-17 22:50:33 -08:00
  • 160986eb95 + Fix for a missing newline occurring for some solids in block statemants. Michael Smith 2016-02-17 22:31:51 -08:00
  • 10e2ffb356 + Added + and - operators as Union and Difference for for OSCADObjects Michael Smith 2016-02-17 22:30:05 -08:00
  • a71f28f5e4 Added lots of comments to get rid of the compiler warnings that appeared after turning XML docs on. Michael L Smith 2016-02-17 21:29:10 -08:00
  • 637955f2b7 + Updated project settings to include xml documentation output + Updated Matrix comment Michael L Smith 2016-02-16 21:56:19 -08:00
  • 1440def15d Merge pull request #1 from Exolun/PositionInterpolation Michael Smith 2016-02-16 20:08:20 -08:00
  • 3024b7a5fe + Added one more test for position after lots of operations. Michael L Smith 2016-02-16 20:00:55 -08:00
  • b6a454e8b9 + Added NotSupportedExceptions on all block statements except Hull and Union when Position() is called on them Michael L Smith 2016-02-16 19:54:34 -08:00
  • 2bbe452da6 + Added a NotSupportedException when Position is called on a mirrored object that's been mirrored on multiple axes + test Michael L Smith 2016-02-16 19:34:33 -08:00
  • 8e5aa0a2f3 + Added some additional Vector operations Mike Smith 2016-02-16 17:37:21 -08:00
  • 07c845bcbd + Position interpolation for single-axis mirroring. Michael L Smith 2016-02-15 21:45:38 -08:00
  • 294ae7e357 Several more Position implementations Michael L Smith 2016-02-15 21:18:13 -08:00
  • 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. Michael L Smith 2016-02-15 21:00:43 -08:00
  • 12eb89adbb Added some tests for known expected interpolation positions. Michael L Smith 2016-02-15 20:30:46 -08:00
  • 1be343fadc Possible functioning implementation of Rotate's point interpolation (at least with center=true). Further testing needed. Mike Smith 2016-02-15 00:31:20 -08:00
  • 2a7ee3ab63 Added Cube position, Translate interpolation Mike Smith 2016-02-14 23:27:53 -08:00
  • 49d2de3046 + Added new abstract 'position' method to OSCADObject, overrides on all pertinent classes. (Not implemented yet) Mike Smith 2016-02-14 23:00:27 -08:00
  • bc69fa877b Moved Vector3 to Spatial folder Mike Smith 2016-02-14 22:53:28 -08:00
  • 3711b6ef6b Added Matrix.cs, matrix multiply method, Vector to matrix factory method Mike Smith 2016-02-14 22:53:04 -08:00
  • 5a61dd2199 Fix for Hull and Minkowski not adding the basis object to the children affected by the Hull/Minkowski operation. Mike Smith 2016-02-14 18:45:31 -08:00
  • 1402690f2d Fix for missing Diameter value assignment in Cylinder constructor Mike Smith 2016-02-14 18:36:55 -08:00
  • 750937a25e + Added UnionTests + Fixed an issue where the children of Union as per Children() appeared in the reverse of the expected order Mike Smith 2016-02-14 11:50:32 -08:00
  • ae3f9e4d2f Added HulledObject, Hull Mike Smith 2016-02-14 11:34:58 -08:00
  • 81b49cf994 Renamed BlockFormatter -> SingleBlockFormatter BlockStatementObject -> MultiBlockStatementObject Mike Smith 2016-02-14 11:26:47 -08:00
  • e1aa360635 Added MinkowskiedObject, Minkowski Mike Smith 2016-02-14 11:22:17 -08:00
  • 7e8cc89e6b + Tried to simplify Mimic method. Mostly succeeded. Mike Smith 2016-02-14 10:51:45 -08:00
  • 3d31d10912 + 2 more mimic tests + Fix for an issue with Children() where duplicate children were being added on structures with 3+ OSCADObjects Mike Smith 2016-02-14 10:31:47 -08:00
  • becb6af003 IMimicer -> IMimic Mike Smith 2016-02-14 10:17:55 -08:00
  • 1746190165 Added 'mimic' method to copy identical transforms to other objects Mike Smith 2016-02-14 01:07:18 -08:00
  • e8c42deb30 + Added .Children() method to OSCADObjects + Added some tests for children + Fixed an issue where cloned objects for Transforms would not have cloned children Mike Smith 2016-02-14 00:19:29 -08:00
  • 8fe459a5ba + Deleted Equals and GetHashCode overrides in Cube/Sphere. + Added an IsSameAs method to OSCADObject + Modified tests accordingly Mike Smith 2016-02-13 13:01:02 -08:00
  • 7d59afbdd9 + Added some tests for Cube + Adjusted some of the Sphere tests + Overrides for .Equals and .GetHashCode on Cube and Sphere Mike Smith 2016-02-12 18:16:00 -08:00
  • 7efd7f161d + Added a Clone() test for Sphere Mike Smith 2016-02-12 17:02:21 -08:00
  • dc950b5fdb +Unit test project + Added some unit tests on spheres/sphere script output. Mike Smith 2016-02-11 22:55:13 -08:00