89 Commits

Author SHA1 Message Date
Michael Smith
763479985b Renamed MultiBlockStatementObject to simply 'MultiStatementObject' 2016-02-24 23:18:54 -08:00
Michael Smith
2976110f05 Shifted references to IFileInvoker to Dependencies.cs, added factory func to Dependencies.cs for providing IFileInvoker. 2016-02-24 23:17:35 -08:00
Michael Smith
8b05e2af6a Shifted Settings.Globals to Variables.Global 2016-02-24 23:04:05 -08:00
Michael Smith
ac6f3c2f51 Shifted FileInvoker/Writer classes to /Files, updated namespace to OSCADSharp.Files 2016-02-24 22:51:32 -08:00
Michael Smith
4474d43532 Added DefaultFileInvoker, updated FileInvoker, made OSCADObject return a fileInvoker from .ToFile 2016-02-24 22:48:54 -08:00
Michael L Smith
9305dcf5ec Reversed a weird change to one OSCADObject test 2016-02-24 21:38:22 -08:00
Michael L Smith
8678c3293d Added a test / changes to ensure null globals and/or null variable names do not affect outputs. 2016-02-24 21:36:44 -08:00
Michael L Smith
052760ecf1 Added IFileInvoker 2016-02-24 21:31:22 -08:00
Michael Smith
0237d9f35b Mocked some FileWriters for settings output tests. 2016-02-24 00:53:41 -08:00
Michael Smith
05e73130b6 Added Moq to UnitTests project via NuGet 2016-02-23 22:00:56 -08:00
Michael Smith
7e5160d701 Extracted IFileWriter for OSCADObject.ToFile
Included default implementation for IFileWriter and replaceable reference in Settings.cs
2016-02-23 21:59:17 -08:00
Michael L Smith
4532e7b20d Added Variables class, Settings class, settings/header output in OSCADObject.ToFile 2016-02-23 19:14:50 -08:00
Michael L Smith
8506459939 + Added internal Parent reference / made assignments to it when operations occur 2016-02-23 18:02:24 -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
0e47d85f42 + Added StatementBuilder for use in places where we'll be doing a lot more conditional output construction. 2016-02-22 19:22:04 -08:00
Michael L Smith
4527a3cd33 + Position() on resized objects is now supported via the averaging of Bounds() positions. 2016-02-22 18:43:26 -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
96693e062b Added optional recursive flag to Children() to allow selection of immediate children instead of all descendants. 2016-02-21 20:27:56 -08:00
Michael Smith
511cb45b6f + Removed Mimic, because it doesn't really make sense with the new Position() and Bounds() features 2016-02-21 20:08:17 -08:00
Michael Smith
8c5dde2ce7 Added a couple tests for child name retention after clone. 2016-02-21 19:59:20 -08:00
Michael Smith
847652a9c7 Added "Name" as an optional identifier for OSCADObjects 2016-02-21 16:30:59 -08:00
Michael Smith
135ab5072a Added Bounds.Length, Width, Height 2016-02-21 15:20:27 -08:00
Michael Smith
28bb1736e9 Added .ToFile(path) on OSCADObject 2016-02-21 11:39:36 -08:00
Michael Smith
cce795332f Basic Bounds implementations for most transforms and booleans + some test updates. 2016-02-21 01:22:44 -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 L Smith
4dc79e8bc2 + Added an auto-incrementing Id to OSCADObjects 2016-02-20 14:21:41 -08:00
Michael L Smith
e62111b1df + Updated release build configuration to output XML docs too 2016-02-20 13:43:09 -08:00
Michael Smith
0141538a2d Added NotSupportedException on ResizedObject.Position 2016-02-19 17:48:28 -08:00
Michael Smith
80c400dee8 Fix for an issue where Rotating/Translating an object, then using Scale would yield the wrong Position() value. 2016-02-19 17:33:30 -08:00
Michael Smith
f1f699afe4 Moved a bunch of tests into folders 2016-02-18 22:19:03 -08:00
Michael Smith
1bd6ad3543 + Updated Difference's Position() behavior to return the position of the first child (object being differenced) 2016-02-17 22:57:20 -08:00
Michael Smith
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
2016-02-17 22:50:33 -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 Smith
10e2ffb356 + Added + and - operators as Union and Difference for for OSCADObjects 2016-02-17 22:30:05 -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
637955f2b7 + Updated project settings to include xml documentation output
+ Updated Matrix comment
2016-02-16 21:56:19 -08:00
Michael L Smith
3024b7a5fe + Added one more test for position after lots of operations. 2016-02-16 20:00:55 -08:00
Michael L Smith
b6a454e8b9 + Added NotSupportedExceptions on all block statements except Hull and Union when Position() is called on them 2016-02-16 19:54:34 -08:00
Michael L Smith
2bbe452da6 + Added a NotSupportedException when Position is called on a mirrored object that's been mirrored on multiple axes + test 2016-02-16 19:34:33 -08:00
Mike Smith
8e5aa0a2f3 + Added some additional Vector operations 2016-02-16 17:37:21 -08:00
Michael L Smith
07c845bcbd + Position interpolation for single-axis mirroring. 2016-02-15 21:45:38 -08:00
Michael L Smith
294ae7e357 Several more Position implementations 2016-02-15 21:18:13 -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
Michael L Smith
12eb89adbb Added some tests for known expected interpolation positions. 2016-02-15 20:30:46 -08:00
Mike Smith
1be343fadc Possible functioning implementation of Rotate's point interpolation (at least with center=true). Further testing needed. 2016-02-15 00:31:20 -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