HLSF use long as aloloc size

This commit is contained in:
Nitload
2026-02-23 12:32:15 +08:00
parent 4bd88ccbca
commit c155cab510
552 changed files with 154266 additions and 154330 deletions
+74 -74
View File
@@ -1,74 +1,74 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAdvancedFace"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Linq;
namespace StgSharp.Model.Step
{
public class StepAdvancedFace : StepFaceSurface, IExpConvertableFrom<StepAdvancedFace>
{
public StepAdvancedFace(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.AdvancedFace;
public void FromInstance(StepAdvancedFace entity)
{
base.FromInstance(entity);
}
internal static StepAdvancedFace FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepAdvancedFace face = new StepAdvancedFace(binder);
enumerator.AssertEnumeratorCount(4);
face.Name = (enumerator[0]as ExpStringNode)!.Value;
ExpNodePresidentEnumerator boundsList = enumerator[1].TupleToPresidentEnumerator();
face.Bounds.Clear();
face.Bounds
.AddRange(
Enumerable.Range(0, enumerator.Count).Select(_ => (StepFaceBound)null));
for (int i = 0; i < boundsList.Count; i++)
{
int j = i; // capture to avoid rebinding
face.Bounds[j] = binder[boundsList[j]] as StepFaceBound;
}
face.FaceGeometry = binder[enumerator[2]] as StepSurface;
face.SameSense = (enumerator[3] as ExpBoolNode)!.Value;
return face;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAdvancedFace"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Linq;
namespace StgSharp.Model.Step
{
public class StepAdvancedFace : StepFaceSurface, IExpConvertableFrom<StepAdvancedFace>
{
public StepAdvancedFace(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.AdvancedFace;
public void FromInstance(StepAdvancedFace entity)
{
base.FromInstance(entity);
}
internal static StepAdvancedFace FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepAdvancedFace face = new StepAdvancedFace(binder);
enumerator.AssertEnumeratorCount(4);
face.Name = (enumerator[0]as ExpStringNode)!.Value;
ExpNodePresidentEnumerator boundsList = enumerator[1].TupleToPresidentEnumerator();
face.Bounds.Clear();
face.Bounds
.AddRange(
Enumerable.Range(0, enumerator.Count).Select(_ => (StepFaceBound)null));
for (int i = 0; i < boundsList.Count; i++)
{
int j = i; // capture to avoid rebinding
face.Bounds[j] = binder[boundsList[j]] as StepFaceBound;
}
face.FaceGeometry = binder[enumerator[2]] as StepSurface;
face.SameSense = (enumerator[3] as ExpBoolNode)!.Value;
return face;
}
}
}
+59 -59
View File
@@ -1,59 +1,59 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAxis2Placement"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using System;
namespace StgSharp.Model.Step
{
public class StepAxis2Placement : StepPlacement
{
private StepDirection _refDirection;
protected StepAxis2Placement(StepModel model) : base(model) { }
public StepDirection RefDirection
{
get { return _refDirection; }
set
{
ArgumentNullException.ThrowIfNull(value);
_refDirection = value;
}
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepAxis2Placement";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAxis2Placement"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using System;
namespace StgSharp.Model.Step
{
public class StepAxis2Placement : StepPlacement
{
private StepDirection _refDirection;
protected StepAxis2Placement(StepModel model) : base(model) { }
public StepDirection RefDirection
{
get { return _refDirection; }
set
{
ArgumentNullException.ThrowIfNull(value);
_refDirection = value;
}
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepAxis2Placement";
}
}
}
@@ -1,71 +1,71 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAxis2Placement2D"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepAxis2Placement2D : StepAxis2Placement, IExpConvertableFrom<StepAxis2Placement2D>
{
private StepAxis2Placement2D(StepModel model) : base(model) { }
public StepAxis2Placement2D(StepModel model, StepCartesianPoint location, StepDirection direction)
: base(model)
{
Location = location;
RefDirection = direction;
}
public override StepItemType ItemType => StepItemType.AxisPlacement2D;
public void FromInstance(StepAxis2Placement2D entity)
{
base.FromInstance(entity);
Location = entity.Location;
RefDirection = entity.RefDirection;
}
internal static StepAxis2Placement2D FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepAxis2Placement2D axis = new StepAxis2Placement2D(binder);
enumerator.AssertEnumeratorCount(3);
axis.Name = (enumerator[0]as ExpStringNode)!.Value;
axis.Location = binder[enumerator[1]] as StepCartesianPoint;
axis.RefDirection = binder[enumerator[2]] as StepDirection;
return axis;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAxis2Placement2D"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepAxis2Placement2D : StepAxis2Placement, IExpConvertableFrom<StepAxis2Placement2D>
{
private StepAxis2Placement2D(StepModel model) : base(model) { }
public StepAxis2Placement2D(StepModel model, StepCartesianPoint location, StepDirection direction)
: base(model)
{
Location = location;
RefDirection = direction;
}
public override StepItemType ItemType => StepItemType.AxisPlacement2D;
public void FromInstance(StepAxis2Placement2D entity)
{
base.FromInstance(entity);
Location = entity.Location;
RefDirection = entity.RefDirection;
}
internal static StepAxis2Placement2D FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepAxis2Placement2D axis = new StepAxis2Placement2D(binder);
enumerator.AssertEnumeratorCount(3);
axis.Name = (enumerator[0]as ExpStringNode)!.Value;
axis.Location = binder[enumerator[1]] as StepCartesianPoint;
axis.RefDirection = binder[enumerator[2]] as StepDirection;
return axis;
}
}
}
@@ -1,92 +1,92 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAxis2Placement3D"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepAxis2Placement3D : StepAxis2Placement, IExpConvertableFrom<StepAxis2Placement3D>
{
private StepDirection _axis;
private StepAxis2Placement3D(StepModel model) : base(model) { }
public StepAxis2Placement3D(
StepModel model,
StepCartesianPoint location,
StepDirection axis,
StepDirection refDirection)
: base(model)
{
Location = location;
Axis = axis;
RefDirection = refDirection;
}
public StepDirection Axis
{
get { return _axis; }
set
{
ArgumentNullException.ThrowIfNull(value);
_axis = value;
}
}
public override StepItemType ItemType => StepItemType.AxisPlacement3D;
public override bool IsConvertableTo(string entityTypeName)
{
throw new NotImplementedException();
}
internal static StepAxis2Placement3D FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepAxis2Placement3D axis = new StepAxis2Placement3D(binder);
enumerator.AssertEnumeratorCount(4);
axis.Name = (enumerator[0]as ExpStringNode)!.Value;
axis.Location = binder[enumerator[1]] as StepCartesianPoint;
axis.Axis = binder[enumerator[2]] as StepDirection;
axis.RefDirection = binder[enumerator[3]] as StepDirection;
return axis;
}
void IExpConvertableFrom<StepAxis2Placement3D>.FromInstance(StepAxis2Placement3D entity)
{
throw new NotImplementedException();
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepAxis2Placement3D"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepAxis2Placement3D : StepAxis2Placement, IExpConvertableFrom<StepAxis2Placement3D>
{
private StepDirection _axis;
private StepAxis2Placement3D(StepModel model) : base(model) { }
public StepAxis2Placement3D(
StepModel model,
StepCartesianPoint location,
StepDirection axis,
StepDirection refDirection)
: base(model)
{
Location = location;
Axis = axis;
RefDirection = refDirection;
}
public StepDirection Axis
{
get { return _axis; }
set
{
ArgumentNullException.ThrowIfNull(value);
_axis = value;
}
}
public override StepItemType ItemType => StepItemType.AxisPlacement3D;
public override bool IsConvertableTo(string entityTypeName)
{
throw new NotImplementedException();
}
internal static StepAxis2Placement3D FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepAxis2Placement3D axis = new StepAxis2Placement3D(binder);
enumerator.AssertEnumeratorCount(4);
axis.Name = (enumerator[0]as ExpStringNode)!.Value;
axis.Location = binder[enumerator[1]] as StepCartesianPoint;
axis.Axis = binder[enumerator[2]] as StepDirection;
axis.RefDirection = binder[enumerator[3]] as StepDirection;
return axis;
}
void IExpConvertableFrom<StepAxis2Placement3D>.FromInstance(StepAxis2Placement3D entity)
{
throw new NotImplementedException();
}
}
}
+131 -131
View File
@@ -1,131 +1,131 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBSplineCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public enum StepBSplineCurveForm
{
Polyline,
CircularArc,
EllipticalArc,
ParabolicArc,
HyperbolicArc,
Unspecified
}
public static class StepExpEnumValue
{
internal const string CIRCULAR_ARC = "CIRCULAR_ARC";
internal const string ELLIPTIC_ARC = "ELLIPTIC_ARC";
internal const string HYPERBOLIC_ARC = "HYPERBOLIC_ARC";
internal const string PARABOLIC_ARC = "PARABOLIC_ARC";
internal const string POLYLINE_FORM = "POLYLINE_FORM";
internal const string UNSPECIFIED = "UNSPECIFIED";
internal static HashSet<string> AllPossibleValue { get; } = [ CIRCULAR_ARC, ELLIPTIC_ARC, HYPERBOLIC_ARC, PARABOLIC_ARC, POLYLINE_FORM, UNSPECIFIED, ];
}
public class StepBSplineCurve : StepBoundedCurve, IExpConvertableFrom<StepBSplineCurve>
{
public StepBSplineCurve(StepModel model, params StepCartesianPoint[] controlPoints)
: this(model, (IEnumerable<StepCartesianPoint>)controlPoints) { }
public StepBSplineCurve(StepModel model, IEnumerable<StepCartesianPoint> controlPoints)
: base(model)
{
ControlPointsList.AddRange(controlPoints);
}
public bool ClosedCurve { get; set; }
public bool SelfIntersect { get; set; }
public int Degree { get; set; }
public List<StepCartesianPoint> ControlPointsList { get; private set; }
= new List<StepCartesianPoint>();
public StepBSplineCurveForm CurveForm { get; set; } = StepBSplineCurveForm.Unspecified;
public void FromInstance(StepBSplineCurve entity)
{
base.FromInstance(entity);
this.Degree = entity.Degree;
this.ClosedCurve = entity.ClosedCurve;
this.ControlPointsList = entity.ControlPointsList;
this.SelfIntersect = entity.SelfIntersect;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepBSplineCurve";
}
protected static string GetCurveFormString(StepBSplineCurveForm form)
{
return form switch
{
StepBSplineCurveForm.Polyline => StepExpEnumValue.POLYLINE_FORM,
StepBSplineCurveForm.CircularArc => StepExpEnumValue.CIRCULAR_ARC,
StepBSplineCurveForm.EllipticalArc => StepExpEnumValue.ELLIPTIC_ARC,
StepBSplineCurveForm.ParabolicArc => StepExpEnumValue.PARABOLIC_ARC,
StepBSplineCurveForm.HyperbolicArc => StepExpEnumValue.HYPERBOLIC_ARC,
StepBSplineCurveForm.Unspecified => StepExpEnumValue.UNSPECIFIED,
_ => throw new NotImplementedException(),
};
}
protected static StepBSplineCurveForm ParseCurveForm(string enumerationValue)
{
return enumerationValue.ToUpperInvariant() switch
{
StepExpEnumValue.POLYLINE_FORM => StepBSplineCurveForm.Polyline,
StepExpEnumValue.CIRCULAR_ARC => StepBSplineCurveForm.CircularArc,
StepExpEnumValue.ELLIPTIC_ARC => StepBSplineCurveForm.EllipticalArc,
StepExpEnumValue.PARABOLIC_ARC => StepBSplineCurveForm.ParabolicArc,
StepExpEnumValue.HYPERBOLIC_ARC => StepBSplineCurveForm.HyperbolicArc,
_ => StepBSplineCurveForm.Unspecified,
};
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBSplineCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public enum StepBSplineCurveForm
{
Polyline,
CircularArc,
EllipticalArc,
ParabolicArc,
HyperbolicArc,
Unspecified
}
public static class StepExpEnumValue
{
internal const string CIRCULAR_ARC = "CIRCULAR_ARC";
internal const string ELLIPTIC_ARC = "ELLIPTIC_ARC";
internal const string HYPERBOLIC_ARC = "HYPERBOLIC_ARC";
internal const string PARABOLIC_ARC = "PARABOLIC_ARC";
internal const string POLYLINE_FORM = "POLYLINE_FORM";
internal const string UNSPECIFIED = "UNSPECIFIED";
internal static HashSet<string> AllPossibleValue { get; } = [ CIRCULAR_ARC, ELLIPTIC_ARC, HYPERBOLIC_ARC, PARABOLIC_ARC, POLYLINE_FORM, UNSPECIFIED, ];
}
public class StepBSplineCurve : StepBoundedCurve, IExpConvertableFrom<StepBSplineCurve>
{
public StepBSplineCurve(StepModel model, params StepCartesianPoint[] controlPoints)
: this(model, (IEnumerable<StepCartesianPoint>)controlPoints) { }
public StepBSplineCurve(StepModel model, IEnumerable<StepCartesianPoint> controlPoints)
: base(model)
{
ControlPointsList.AddRange(controlPoints);
}
public bool ClosedCurve { get; set; }
public bool SelfIntersect { get; set; }
public int Degree { get; set; }
public List<StepCartesianPoint> ControlPointsList { get; private set; }
= new List<StepCartesianPoint>();
public StepBSplineCurveForm CurveForm { get; set; } = StepBSplineCurveForm.Unspecified;
public void FromInstance(StepBSplineCurve entity)
{
base.FromInstance(entity);
this.Degree = entity.Degree;
this.ClosedCurve = entity.ClosedCurve;
this.ControlPointsList = entity.ControlPointsList;
this.SelfIntersect = entity.SelfIntersect;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepBSplineCurve";
}
protected static string GetCurveFormString(StepBSplineCurveForm form)
{
return form switch
{
StepBSplineCurveForm.Polyline => StepExpEnumValue.POLYLINE_FORM,
StepBSplineCurveForm.CircularArc => StepExpEnumValue.CIRCULAR_ARC,
StepBSplineCurveForm.EllipticalArc => StepExpEnumValue.ELLIPTIC_ARC,
StepBSplineCurveForm.ParabolicArc => StepExpEnumValue.PARABOLIC_ARC,
StepBSplineCurveForm.HyperbolicArc => StepExpEnumValue.HYPERBOLIC_ARC,
StepBSplineCurveForm.Unspecified => StepExpEnumValue.UNSPECIFIED,
_ => throw new NotImplementedException(),
};
}
protected static StepBSplineCurveForm ParseCurveForm(string enumerationValue)
{
return enumerationValue.ToUpperInvariant() switch
{
StepExpEnumValue.POLYLINE_FORM => StepBSplineCurveForm.Polyline,
StepExpEnumValue.CIRCULAR_ARC => StepBSplineCurveForm.CircularArc,
StepExpEnumValue.ELLIPTIC_ARC => StepBSplineCurveForm.EllipticalArc,
StepExpEnumValue.PARABOLIC_ARC => StepBSplineCurveForm.ParabolicArc,
StepExpEnumValue.HYPERBOLIC_ARC => StepBSplineCurveForm.HyperbolicArc,
_ => StepBSplineCurveForm.Unspecified,
};
}
}
}
@@ -1,149 +1,149 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBSplineCurveWithKnots"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public enum StepKnotType
{
UniformKnots,
QuasiUniformKnots,
PiecewiseBezierKnots,
Unspecified
}
;
public class StepBSplineCurveWithKnots : StepBSplineCurve, IExpConvertableFrom<StepBSplineCurveWithKnots>
{
private const string PIECEWISE_BEZIER_KNOTS = "PIECEWISE_BEZIER_KNOTS";
private const string QUASI_UNIFORM_KNOTS = "QUASI_UNIFORM_KNOTS";
private const string UNIFORM_KNOTS = "UNIFORM_KNOTS";
private const string UNSPECIFIED = "UNSPECIFIED";
public StepBSplineCurveWithKnots(StepModel model, IEnumerable<StepCartesianPoint> controlPoints)
: base(model, controlPoints) { }
public StepBSplineCurveWithKnots(StepModel model, params StepCartesianPoint[] controlPoints)
: base(model, controlPoints) { }
public List<int> KnotMultiplicities { get; } = new List<int>();
public List<double> Knots { get; } = new List<double>();
public override StepItemType ItemType => StepItemType.BSplineCurveWithKnots;
public StepKnotType KnotSpec { get; set; } = StepKnotType.Unspecified;
public void FromInstance(StepBSplineCurveWithKnots entity)
{
base.FromInstance(entity);
KnotSpec = entity.KnotSpec;
KnotMultiplicities.Clear();
KnotMultiplicities.AddRange(entity.KnotMultiplicities);
Knots.Clear();
Knots.AddRange(entity.Knots);
}
internal static StepBSplineCurveWithKnots FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = syntaxList .ToPresidentEnumerator();
enumerator.AssertEnumeratorCount(9);
ExpNodePresidentEnumerator controlPointsList = enumerator[2].TupleToPresidentEnumerator(
);
StepBSplineCurveWithKnots spline = new StepBSplineCurveWithKnots(
binder, new StepCartesianPoint[controlPointsList.Count]);
spline.Name = (enumerator[0]as ExpStringNode)!.Value;
spline.Degree = (enumerator[1] as ExpIntNode)!.Value;
for (int i = 0; i < controlPointsList.Count; i++)
{
int j = i; // capture to avoid rebinding
spline.ControlPointsList[j] = binder[controlPointsList[j]]as StepCartesianPoint;
}
spline.CurveForm = ParseCurveForm(enumerator[3].CodeConvertTemplate);
spline.ClosedCurve = (enumerator[4] as ExpBoolNode)!.Value;
spline.SelfIntersect = (enumerator[5]as ExpBoolNode)!.Value;
ExpNodePresidentEnumerator knotMultiplicitiesList = enumerator[6].TupleToPresidentEnumerator(
);
spline.KnotMultiplicities.Clear();
for (int i = 0; i < knotMultiplicitiesList.Count; i++) {
spline.KnotMultiplicities.Add((knotMultiplicitiesList[i]as ExpIntNode)!.Value);
}
ExpNodePresidentEnumerator knotsList = enumerator[7].TupleToPresidentEnumerator();
spline.Knots.Clear();
for (int i = 0; i < knotsList.Count; i++) {
spline.Knots.Add((knotsList[i]as ExpRealNumberNode)!.Value);
}
spline.KnotSpec = ParseKnotSpec(enumerator[8].CodeConvertTemplate);
return spline;
}
private static string GetKnotSpec(StepKnotType spec)
{
return spec switch
{
StepKnotType.UniformKnots => UNIFORM_KNOTS,
StepKnotType.QuasiUniformKnots => QUASI_UNIFORM_KNOTS,
StepKnotType.PiecewiseBezierKnots => PIECEWISE_BEZIER_KNOTS,
StepKnotType.Unspecified => UNSPECIFIED,
_ => throw new NotImplementedException(),
};
}
private static StepKnotType ParseKnotSpec(string enumerationValue)
{
return enumerationValue.ToUpperInvariant() switch
{
UNIFORM_KNOTS => StepKnotType.UniformKnots,
QUASI_UNIFORM_KNOTS => StepKnotType.QuasiUniformKnots,
PIECEWISE_BEZIER_KNOTS => StepKnotType.PiecewiseBezierKnots,
_ => StepKnotType.Unspecified,
};
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBSplineCurveWithKnots"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public enum StepKnotType
{
UniformKnots,
QuasiUniformKnots,
PiecewiseBezierKnots,
Unspecified
}
;
public class StepBSplineCurveWithKnots : StepBSplineCurve, IExpConvertableFrom<StepBSplineCurveWithKnots>
{
private const string PIECEWISE_BEZIER_KNOTS = "PIECEWISE_BEZIER_KNOTS";
private const string QUASI_UNIFORM_KNOTS = "QUASI_UNIFORM_KNOTS";
private const string UNIFORM_KNOTS = "UNIFORM_KNOTS";
private const string UNSPECIFIED = "UNSPECIFIED";
public StepBSplineCurveWithKnots(StepModel model, IEnumerable<StepCartesianPoint> controlPoints)
: base(model, controlPoints) { }
public StepBSplineCurveWithKnots(StepModel model, params StepCartesianPoint[] controlPoints)
: base(model, controlPoints) { }
public List<int> KnotMultiplicities { get; } = new List<int>();
public List<double> Knots { get; } = new List<double>();
public override StepItemType ItemType => StepItemType.BSplineCurveWithKnots;
public StepKnotType KnotSpec { get; set; } = StepKnotType.Unspecified;
public void FromInstance(StepBSplineCurveWithKnots entity)
{
base.FromInstance(entity);
KnotSpec = entity.KnotSpec;
KnotMultiplicities.Clear();
KnotMultiplicities.AddRange(entity.KnotMultiplicities);
Knots.Clear();
Knots.AddRange(entity.Knots);
}
internal static StepBSplineCurveWithKnots FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = syntaxList .ToPresidentEnumerator();
enumerator.AssertEnumeratorCount(9);
ExpNodePresidentEnumerator controlPointsList = enumerator[2].TupleToPresidentEnumerator(
);
StepBSplineCurveWithKnots spline = new StepBSplineCurveWithKnots(
binder, new StepCartesianPoint[controlPointsList.Count]);
spline.Name = (enumerator[0]as ExpStringNode)!.Value;
spline.Degree = (enumerator[1] as ExpIntNode)!.Value;
for (int i = 0; i < controlPointsList.Count; i++)
{
int j = i; // capture to avoid rebinding
spline.ControlPointsList[j] = binder[controlPointsList[j]]as StepCartesianPoint;
}
spline.CurveForm = ParseCurveForm(enumerator[3].CodeConvertTemplate);
spline.ClosedCurve = (enumerator[4] as ExpBoolNode)!.Value;
spline.SelfIntersect = (enumerator[5]as ExpBoolNode)!.Value;
ExpNodePresidentEnumerator knotMultiplicitiesList = enumerator[6].TupleToPresidentEnumerator(
);
spline.KnotMultiplicities.Clear();
for (int i = 0; i < knotMultiplicitiesList.Count; i++) {
spline.KnotMultiplicities.Add((knotMultiplicitiesList[i]as ExpIntNode)!.Value);
}
ExpNodePresidentEnumerator knotsList = enumerator[7].TupleToPresidentEnumerator();
spline.Knots.Clear();
for (int i = 0; i < knotsList.Count; i++) {
spline.Knots.Add((knotsList[i]as ExpRealNumberNode)!.Value);
}
spline.KnotSpec = ParseKnotSpec(enumerator[8].CodeConvertTemplate);
return spline;
}
private static string GetKnotSpec(StepKnotType spec)
{
return spec switch
{
StepKnotType.UniformKnots => UNIFORM_KNOTS,
StepKnotType.QuasiUniformKnots => QUASI_UNIFORM_KNOTS,
StepKnotType.PiecewiseBezierKnots => PIECEWISE_BEZIER_KNOTS,
StepKnotType.Unspecified => UNSPECIFIED,
_ => throw new NotImplementedException(),
};
}
private static StepKnotType ParseKnotSpec(string enumerationValue)
{
return enumerationValue.ToUpperInvariant() switch
{
UNIFORM_KNOTS => StepKnotType.UniformKnots,
QUASI_UNIFORM_KNOTS => StepKnotType.QuasiUniformKnots,
PIECEWISE_BEZIER_KNOTS => StepKnotType.PiecewiseBezierKnots,
_ => StepKnotType.Unspecified,
};
}
}
}
+181 -181
View File
@@ -1,182 +1,182 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBSplineSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using CommunityToolkit.HighPerformance;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
public enum StepBSplineSurfaceForm
{
PLANE_SURF,
CYLINDRICAL_SURF,
CONICAL_SURF,
SPHERICAL_SURF,
TOROIDAL_SURF,
SURF_OF_REVOLUTION,
RULED_SURF,
GENERALISED_CONE,
QUADRIC_SURF,
SURF_OF_LINEAR_EXTRUSION,
UNSPECIFIED,
}
public class StepBSplineSurface : StepBoundedSurface, IExpConvertableFrom<StepBSplineSurface>
{
public const string CONICAL_SURF_TEXT = "CONICAL_SURF";
public const string CYLINDRICAL_SURF_TEXT = "CYLINDRICAL_SURF";
public const string GENERALISED_CONE_TEXT = "GENERALISED_CONE";
public const string PLANE_SURF_TEXT = "PLANE_SURF";
public const string QUADRIC_SURF_TEXT = "QUADRIC_SURF";
public const string RULED_SURF_TEXT = "RULED_SURF";
public const string SPHERICAL_SURF_TEXT = "SPHERICAL_SURF";
public const string SURF_OF_LINEAR_EXTRUSION_TEXT = "SURF_OF_LINEAR_EXTRUSION";
public const string SURF_OF_REVOLUTION_TEXT = "SURF_OF_REVOLUTION";
public const string TOROIDAL_SURF_TEXT = "TOROIDAL_SURF";
public const string UNSPECIFIED_TEXT = "UNSPECIFIED";
public StepBSplineSurface(StepModel model) : base(model) { }
public bool UClosed { get; set; }
public bool VClosed { get; set; }
public bool SelfIntersections { get; set; }
public int UDegree { get; set; }
public int VDegree { get; set; }
public int UUpper => ControlPointsList.Count - 1;
public int VUpper => ControlPointsList[0].Count - 1;
public List<List<StepCartesianPoint>> ControlPointsList { get; set; }
= new List<List<StepCartesianPoint>>();
public StepBSplineSurfaceForm SurfaceForm { get; set; }
public static StepBSplineSurface CreateFromSyntax(StepModel binder, ExpSyntaxNode syntax)
{
ExpNodePresidentEnumerator enumerator = syntax.ToPresidentEnumerator();
enumerator.AssertEnumeratorCount(7);
StepBSplineSurface ret = new StepBSplineSurface(binder);
ret.UDegree = (enumerator[0] as ExpIntNode).Value;
ret.VDegree = (enumerator[1] as ExpIntNode).Value;
ExpNodePresidentEnumerator pointList = enumerator[2].TupleToPresidentEnumerator();
pointList.AssertEnumeratorCount(2, int.MaxValue);
for (int i = 0; i < pointList.Count; i++)
{
ExpNodePresidentEnumerator points = pointList[i].TupleToPresidentEnumerator();
points.AssertEnumeratorCount(2, int.MaxValue);
List<StepCartesianPoint> pList = new List<StepCartesianPoint>(points.Count);
CollectionsMarshal.SetCount(pList, points.Count);
Span<StepCartesianPoint> ls = CollectionsMarshal.AsSpan(pList);
Span<ExpSyntaxNode> aspan = points.AsSpan();
for (int j = 0; j < points.Count; j++)
{
StepCartesianPoint p = binder[aspan[i] as StepEntityInstanceNode] as StepCartesianPoint;
ls[j] = p;
}
ret.ControlPointsList.Add(pList);
}
ret.SurfaceForm = GetSurfaceForm(enumerator[3].CodeConvertTemplate);
ret.UClosed = (enumerator[4] as ExpBoolNode).Value;
ret.VClosed = (enumerator[5] as ExpBoolNode).Value;
ret.SelfIntersections = (enumerator[6] as ExpBoolNode).Value;
return ret;
}
public void FromInstance(StepBSplineSurface entity)
{
base.FromInstance(entity);
UClosed = entity.UClosed;
VClosed = entity.VClosed;
UDegree = entity.UDegree;
VDegree = entity.VDegree;
ControlPointsList.Clear();
foreach (List<StepCartesianPoint> list in entity.ControlPointsList) {
ControlPointsList.Add(new List<StepCartesianPoint>(list));
}
SurfaceForm = entity.SurfaceForm;
}
protected static StepBSplineSurfaceForm GetSurfaceForm(string literal)
{
return literal switch
{
CONICAL_SURF_TEXT => StepBSplineSurfaceForm.PLANE_SURF,
CYLINDRICAL_SURF_TEXT => StepBSplineSurfaceForm.CYLINDRICAL_SURF,
GENERALISED_CONE_TEXT => StepBSplineSurfaceForm.CONICAL_SURF,
PLANE_SURF_TEXT => StepBSplineSurfaceForm.SPHERICAL_SURF,
QUADRIC_SURF_TEXT => StepBSplineSurfaceForm.TOROIDAL_SURF,
RULED_SURF_TEXT => StepBSplineSurfaceForm.SURF_OF_REVOLUTION,
SPHERICAL_SURF_TEXT => StepBSplineSurfaceForm.RULED_SURF,
SURF_OF_LINEAR_EXTRUSION_TEXT => StepBSplineSurfaceForm.GENERALISED_CONE,
SURF_OF_REVOLUTION_TEXT => StepBSplineSurfaceForm.QUADRIC_SURF,
TOROIDAL_SURF_TEXT => StepBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION,
UNSPECIFIED_TEXT => StepBSplineSurfaceForm.UNSPECIFIED,
_ => StepBSplineSurfaceForm.UNSPECIFIED,
};
}
protected static string GetSurfaceFormString(StepBSplineSurfaceForm form)
{
return form switch
{
StepBSplineSurfaceForm.PLANE_SURF => CONICAL_SURF_TEXT,
StepBSplineSurfaceForm.CYLINDRICAL_SURF => CYLINDRICAL_SURF_TEXT,
StepBSplineSurfaceForm.CONICAL_SURF => GENERALISED_CONE_TEXT,
StepBSplineSurfaceForm.SPHERICAL_SURF => PLANE_SURF_TEXT,
StepBSplineSurfaceForm.TOROIDAL_SURF => QUADRIC_SURF_TEXT,
StepBSplineSurfaceForm.SURF_OF_REVOLUTION => RULED_SURF_TEXT,
StepBSplineSurfaceForm.RULED_SURF => SPHERICAL_SURF_TEXT,
StepBSplineSurfaceForm.GENERALISED_CONE => SURF_OF_LINEAR_EXTRUSION_TEXT,
StepBSplineSurfaceForm.QUADRIC_SURF => SURF_OF_REVOLUTION_TEXT,
StepBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION => TOROIDAL_SURF_TEXT,
StepBSplineSurfaceForm.UNSPECIFIED => UNSPECIFIED_TEXT,
_ => UNSPECIFIED_TEXT
};
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBSplineSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using CommunityToolkit.HighPerformance;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
public enum StepBSplineSurfaceForm
{
PLANE_SURF,
CYLINDRICAL_SURF,
CONICAL_SURF,
SPHERICAL_SURF,
TOROIDAL_SURF,
SURF_OF_REVOLUTION,
RULED_SURF,
GENERALISED_CONE,
QUADRIC_SURF,
SURF_OF_LINEAR_EXTRUSION,
UNSPECIFIED,
}
public class StepBSplineSurface : StepBoundedSurface, IExpConvertableFrom<StepBSplineSurface>
{
public const string CONICAL_SURF_TEXT = "CONICAL_SURF";
public const string CYLINDRICAL_SURF_TEXT = "CYLINDRICAL_SURF";
public const string GENERALISED_CONE_TEXT = "GENERALISED_CONE";
public const string PLANE_SURF_TEXT = "PLANE_SURF";
public const string QUADRIC_SURF_TEXT = "QUADRIC_SURF";
public const string RULED_SURF_TEXT = "RULED_SURF";
public const string SPHERICAL_SURF_TEXT = "SPHERICAL_SURF";
public const string SURF_OF_LINEAR_EXTRUSION_TEXT = "SURF_OF_LINEAR_EXTRUSION";
public const string SURF_OF_REVOLUTION_TEXT = "SURF_OF_REVOLUTION";
public const string TOROIDAL_SURF_TEXT = "TOROIDAL_SURF";
public const string UNSPECIFIED_TEXT = "UNSPECIFIED";
public StepBSplineSurface(StepModel model) : base(model) { }
public bool UClosed { get; set; }
public bool VClosed { get; set; }
public bool SelfIntersections { get; set; }
public int UDegree { get; set; }
public int VDegree { get; set; }
public int UUpper => ControlPointsList.Count - 1;
public int VUpper => ControlPointsList[0].Count - 1;
public List<List<StepCartesianPoint>> ControlPointsList { get; set; }
= new List<List<StepCartesianPoint>>();
public StepBSplineSurfaceForm SurfaceForm { get; set; }
public static StepBSplineSurface CreateFromSyntax(StepModel binder, ExpSyntaxNode syntax)
{
ExpNodePresidentEnumerator enumerator = syntax.ToPresidentEnumerator();
enumerator.AssertEnumeratorCount(7);
StepBSplineSurface ret = new StepBSplineSurface(binder);
ret.UDegree = (enumerator[0] as ExpIntNode).Value;
ret.VDegree = (enumerator[1] as ExpIntNode).Value;
ExpNodePresidentEnumerator pointList = enumerator[2].TupleToPresidentEnumerator();
pointList.AssertEnumeratorCount(2, int.MaxValue);
for (int i = 0; i < pointList.Count; i++)
{
ExpNodePresidentEnumerator points = pointList[i].TupleToPresidentEnumerator();
points.AssertEnumeratorCount(2, int.MaxValue);
List<StepCartesianPoint> pList = new List<StepCartesianPoint>(points.Count);
CollectionsMarshal.SetCount(pList, points.Count);
Span<StepCartesianPoint> ls = CollectionsMarshal.AsSpan(pList);
Span<ExpSyntaxNode> aspan = points.AsSpan();
for (int j = 0; j < points.Count; j++)
{
StepCartesianPoint p = binder[aspan[i] as StepEntityInstanceNode] as StepCartesianPoint;
ls[j] = p;
}
ret.ControlPointsList.Add(pList);
}
ret.SurfaceForm = GetSurfaceForm(enumerator[3].CodeConvertTemplate);
ret.UClosed = (enumerator[4] as ExpBoolNode).Value;
ret.VClosed = (enumerator[5] as ExpBoolNode).Value;
ret.SelfIntersections = (enumerator[6] as ExpBoolNode).Value;
return ret;
}
public void FromInstance(StepBSplineSurface entity)
{
base.FromInstance(entity);
UClosed = entity.UClosed;
VClosed = entity.VClosed;
UDegree = entity.UDegree;
VDegree = entity.VDegree;
ControlPointsList.Clear();
foreach (List<StepCartesianPoint> list in entity.ControlPointsList) {
ControlPointsList.Add(new List<StepCartesianPoint>(list));
}
SurfaceForm = entity.SurfaceForm;
}
protected static StepBSplineSurfaceForm GetSurfaceForm(string literal)
{
return literal switch
{
CONICAL_SURF_TEXT => StepBSplineSurfaceForm.PLANE_SURF,
CYLINDRICAL_SURF_TEXT => StepBSplineSurfaceForm.CYLINDRICAL_SURF,
GENERALISED_CONE_TEXT => StepBSplineSurfaceForm.CONICAL_SURF,
PLANE_SURF_TEXT => StepBSplineSurfaceForm.SPHERICAL_SURF,
QUADRIC_SURF_TEXT => StepBSplineSurfaceForm.TOROIDAL_SURF,
RULED_SURF_TEXT => StepBSplineSurfaceForm.SURF_OF_REVOLUTION,
SPHERICAL_SURF_TEXT => StepBSplineSurfaceForm.RULED_SURF,
SURF_OF_LINEAR_EXTRUSION_TEXT => StepBSplineSurfaceForm.GENERALISED_CONE,
SURF_OF_REVOLUTION_TEXT => StepBSplineSurfaceForm.QUADRIC_SURF,
TOROIDAL_SURF_TEXT => StepBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION,
UNSPECIFIED_TEXT => StepBSplineSurfaceForm.UNSPECIFIED,
_ => StepBSplineSurfaceForm.UNSPECIFIED,
};
}
protected static string GetSurfaceFormString(StepBSplineSurfaceForm form)
{
return form switch
{
StepBSplineSurfaceForm.PLANE_SURF => CONICAL_SURF_TEXT,
StepBSplineSurfaceForm.CYLINDRICAL_SURF => CYLINDRICAL_SURF_TEXT,
StepBSplineSurfaceForm.CONICAL_SURF => GENERALISED_CONE_TEXT,
StepBSplineSurfaceForm.SPHERICAL_SURF => PLANE_SURF_TEXT,
StepBSplineSurfaceForm.TOROIDAL_SURF => QUADRIC_SURF_TEXT,
StepBSplineSurfaceForm.SURF_OF_REVOLUTION => RULED_SURF_TEXT,
StepBSplineSurfaceForm.RULED_SURF => SPHERICAL_SURF_TEXT,
StepBSplineSurfaceForm.GENERALISED_CONE => SURF_OF_LINEAR_EXTRUSION_TEXT,
StepBSplineSurfaceForm.QUADRIC_SURF => SURF_OF_REVOLUTION_TEXT,
StepBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION => TOROIDAL_SURF_TEXT,
StepBSplineSurfaceForm.UNSPECIFIED => UNSPECIFIED_TEXT,
_ => UNSPECIFIED_TEXT
};
}
}
}
+56 -56
View File
@@ -1,56 +1,56 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBoundedCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepBoundedCurve : StepCurve, IExpConvertableFrom<StepBoundedCurve>
{
public StepBoundedCurve(StepModel model) : base(model) { }
public void FromInstance(StepBoundedCurve entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepBoundedCurve";
}
internal static StepBoundedCurve FromSyntax(StepModel binder, ExpSyntaxNode syntax)
{
return new StepBoundedCurve(binder);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBoundedCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepBoundedCurve : StepCurve, IExpConvertableFrom<StepBoundedCurve>
{
public StepBoundedCurve(StepModel model) : base(model) { }
public void FromInstance(StepBoundedCurve entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepBoundedCurve";
}
internal static StepBoundedCurve FromSyntax(StepModel binder, ExpSyntaxNode syntax)
{
return new StepBoundedCurve(binder);
}
}
}
+51 -51
View File
@@ -1,51 +1,51 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBoundedSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
public class StepBoundedSurface : StepSurface, IExpConvertableFrom<StepBoundedSurface>
{
public StepBoundedSurface(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.BoundedSurface;
public void FromInstance(StepBoundedSurface entity)
{
base.FromInstance(entity);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBoundedSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
public class StepBoundedSurface : StepSurface, IExpConvertableFrom<StepBoundedSurface>
{
public StepBoundedSurface(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.BoundedSurface;
public void FromInstance(StepBoundedSurface entity)
{
base.FromInstance(entity);
}
}
}
@@ -1,56 +1,56 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBoundedSurfaceCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
internal class StepBoundedSurfaceCurve : StepBoundedCurve, IExpConvertableFrom<StepBoundedSurfaceCurve, StepSurfaceCurve>
{
public StepBoundedSurfaceCurve(StepModel model) : base(model) { }
public StepCurve Parent { get; set; } = null!;
public void FromInstance(StepSurfaceCurve entity)
{
base.FromInstance(entity);
}
public void FromInstance(StepBoundedSurfaceCurve entity)
{
base.FromInstance(entity);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepBoundedSurfaceCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
internal class StepBoundedSurfaceCurve : StepBoundedCurve, IExpConvertableFrom<StepBoundedSurfaceCurve, StepSurfaceCurve>
{
public StepBoundedSurfaceCurve(StepModel model) : base(model) { }
public StepCurve Parent { get; set; } = null!;
public void FromInstance(StepSurfaceCurve entity)
{
base.FromInstance(entity);
}
public void FromInstance(StepBoundedSurfaceCurve entity)
{
base.FromInstance(entity);
}
}
}
+57 -57
View File
@@ -1,57 +1,57 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCartesianPoint"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepCartesianPoint : StepTriple, IExpConvertableFrom<StepCartesianPoint>
{
private StepCartesianPoint(StepModel model) : base(model) { }
public StepCartesianPoint(StepModel model, float x, float y, float z) : base(model, x, y, z) { }
public override StepItemType ItemType => StepItemType.CartesianPoint;
protected override int MinimumValueCount => 1;
public void FromInstance(StepCartesianPoint entity)
{
base.FromInstance(entity);
}
internal static StepCartesianPoint FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
return AssignTo(new StepCartesianPoint(binder), syntaxList);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCartesianPoint"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepCartesianPoint : StepTriple, IExpConvertableFrom<StepCartesianPoint>
{
private StepCartesianPoint(StepModel model) : base(model) { }
public StepCartesianPoint(StepModel model, float x, float y, float z) : base(model, x, y, z) { }
public override StepItemType ItemType => StepItemType.CartesianPoint;
protected override int MinimumValueCount => 1;
public void FromInstance(StepCartesianPoint entity)
{
base.FromInstance(entity);
}
internal static StepCartesianPoint FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
return AssignTo(new StepCartesianPoint(binder), syntaxList);
}
}
}
+87 -87
View File
@@ -1,87 +1,87 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCircle"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepCircle : StepConic, IExpConvertableFrom<StepCircle>
{
private StepAxis2Placement _position;
public StepCircle(StepModel model) : base(model) { }
public StepCircle(StepModel model, StepAxis2Placement position, float radius)
: base(model)
{
Position = position;
Radius = radius;
}
public float Radius { get; set; }
public StepAxis2Placement Position
{
get { return _position; }
set
{
if (value == null) {
throw new ArgumentNullException();
}
_position = value;
}
}
public override StepItemType ItemType => StepItemType.Circle;
public void FromInstance(StepCircle entity)
{
base.FromInstance(entity);
this._position = entity.Position;
}
internal static StepCircle FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepCircle circle = new StepCircle(binder);
enumerator.AssertEnumeratorCount(3);
circle.Name = (enumerator[0]as ExpStringNode)!.Value;
circle.Position = binder[enumerator[1]] as StepAxis2Placement;
circle.Radius = (enumerator[2]as ExpRealNumberNode)!.Value;
return circle;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCircle"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepCircle : StepConic, IExpConvertableFrom<StepCircle>
{
private StepAxis2Placement _position;
public StepCircle(StepModel model) : base(model) { }
public StepCircle(StepModel model, StepAxis2Placement position, float radius)
: base(model)
{
Position = position;
Radius = radius;
}
public float Radius { get; set; }
public StepAxis2Placement Position
{
get { return _position; }
set
{
if (value == null) {
throw new ArgumentNullException();
}
_position = value;
}
}
public override StepItemType ItemType => StepItemType.Circle;
public void FromInstance(StepCircle entity)
{
base.FromInstance(entity);
this._position = entity.Position;
}
internal static StepCircle FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepCircle circle = new StepCircle(binder);
enumerator.AssertEnumeratorCount(3);
circle.Name = (enumerator[0]as ExpStringNode)!.Value;
circle.Position = binder[enumerator[1]] as StepAxis2Placement;
circle.Radius = (enumerator[2]as ExpRealNumberNode)!.Value;
return circle;
}
}
}
+53 -53
View File
@@ -1,53 +1,53 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepConic"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepConic : StepCurve, IExpConvertableFrom<StepConic>
{
public StepConic(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.Conic;
public override bool IsConvertableTo(string entityTypeName)
{
return base.IsConvertableTo(entityTypeName) || entityTypeName == "StepConic";
}
void IExpConvertableFrom<StepConic>.FromInstance(StepConic entity)
{
base.FromInstance(entity);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepConic"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepConic : StepCurve, IExpConvertableFrom<StepConic>
{
public StepConic(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.Conic;
public override bool IsConvertableTo(string entityTypeName)
{
return base.IsConvertableTo(entityTypeName) || entityTypeName == "StepConic";
}
void IExpConvertableFrom<StepConic>.FromInstance(StepConic entity)
{
base.FromInstance(entity);
}
}
}
+53 -53
View File
@@ -1,53 +1,53 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepCurve : StepGeometricRepresentationItem, IExpConvertableFrom<StepCurve>
{
public StepCurve(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.Curve;
public void FromInstance(StepCurve entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepCurve";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepCurve : StepGeometricRepresentationItem, IExpConvertableFrom<StepCurve>
{
public StepCurve(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.Curve;
public void FromInstance(StepCurve entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepCurve";
}
}
}
@@ -1,71 +1,71 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCylindricalSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepCylindricalSurface : StepElementarySurface, IExpConvertableFrom<StepCylindricalSurface>
{
public StepCylindricalSurface(StepModel model) : base(model) { }
public StepCylindricalSurface(StepModel model, StepAxis2Placement3D position, float radius)
: base(model, position)
{
Radius = radius;
}
public float Radius { get; set; }
public override StepItemType ItemType => StepItemType.CylindricalSurface;
public void FromInstance(StepCylindricalSurface entity)
{
base.FromInstance(entity);
Radius = entity.Radius;
}
internal static StepRepresentationItem FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(3);
StepCylindricalSurface surface = new StepCylindricalSurface(binder);
surface.Name = (enumerator[0] as ExpStringNode)!.Value;
surface.Position = binder[enumerator[1]]as StepAxis2Placement3D;
surface.Radius = (enumerator[2]as ExpRealNumberNode)!.Value;
return surface;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepCylindricalSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepCylindricalSurface : StepElementarySurface, IExpConvertableFrom<StepCylindricalSurface>
{
public StepCylindricalSurface(StepModel model) : base(model) { }
public StepCylindricalSurface(StepModel model, StepAxis2Placement3D position, float radius)
: base(model, position)
{
Radius = radius;
}
public float Radius { get; set; }
public override StepItemType ItemType => StepItemType.CylindricalSurface;
public void FromInstance(StepCylindricalSurface entity)
{
base.FromInstance(entity);
Radius = entity.Radius;
}
internal static StepRepresentationItem FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(3);
StepCylindricalSurface surface = new StepCylindricalSurface(binder);
surface.Name = (enumerator[0] as ExpStringNode)!.Value;
surface.Position = binder[enumerator[1]]as StepAxis2Placement3D;
surface.Radius = (enumerator[2]as ExpRealNumberNode)!.Value;
return surface;
}
}
}
+57 -57
View File
@@ -1,57 +1,57 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepDirection"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepDirection : StepTriple, IExpConvertableFrom<StepDirection>
{
private StepDirection(StepModel model) : base(model) { }
public StepDirection(StepModel model, float x, float y, float z) : base(model, x, y, z) { }
public override StepItemType ItemType => StepItemType.Direction;
protected override int MinimumValueCount => 2;
public void FromInstance(StepDirection entity)
{
base.FromInstance(entity);
}
internal static StepDirection FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
return AssignTo(new StepDirection(binder), syntaxList);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepDirection"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepDirection : StepTriple, IExpConvertableFrom<StepDirection>
{
private StepDirection(StepModel model) : base(model) { }
public StepDirection(StepModel model, float x, float y, float z) : base(model, x, y, z) { }
public override StepItemType ItemType => StepItemType.Direction;
protected override int MinimumValueCount => 2;
public void FromInstance(StepDirection entity)
{
base.FromInstance(entity);
}
internal static StepDirection FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
return AssignTo(new StepDirection(binder), syntaxList);
}
}
}
+67 -67
View File
@@ -1,67 +1,67 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEdge"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepEdge : StepTopologicalRepresentationItem, IExpConvertableFrom<StepEdge>
{
protected StepEdge(StepModel model) : base(model) { }
protected StepEdge(StepModel model, StepVertex edgeStart, StepVertex edgeEnd)
: base(model)
{
EdgeStart = edgeStart;
EdgeEnd = edgeEnd;
}
public StepVertex EdgeStart { get; set; }
public StepVertex EdgeEnd { get; set; }
public void FromInstance(StepEdge entity)
{
base.FromInstance(entity);
EdgeStart = entity.EdgeStart;
EdgeEnd = entity.EdgeEnd;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepEdge";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEdge"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepEdge : StepTopologicalRepresentationItem, IExpConvertableFrom<StepEdge>
{
protected StepEdge(StepModel model) : base(model) { }
protected StepEdge(StepModel model, StepVertex edgeStart, StepVertex edgeEnd)
: base(model)
{
EdgeStart = edgeStart;
EdgeEnd = edgeEnd;
}
public StepVertex EdgeStart { get; set; }
public StepVertex EdgeEnd { get; set; }
public void FromInstance(StepEdge entity)
{
base.FromInstance(entity);
EdgeStart = entity.EdgeStart;
EdgeEnd = entity.EdgeEnd;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepEdge";
}
}
}
+91 -91
View File
@@ -1,91 +1,91 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEdgeCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepEdgeCurve : StepEdge, IExpConvertableFrom<StepEdgeCurve>
{
private StepCurve _edgeGeometry;
private StepEdgeCurve(StepModel model) : base(model) { }
public StepEdgeCurve(
StepModel model,
StepVertex edgeStart,
StepVertex edgeEnd,
StepCurve edgeGeometry,
bool isSameSense)
: base(model, edgeStart, edgeEnd)
{
EdgeGeometry = edgeGeometry;
IsSameSense = isSameSense;
}
public bool IsSameSense { get; set; }
public StepCurve EdgeGeometry
{
get { return _edgeGeometry; }
set
{
ArgumentNullException.ThrowIfNull(value);
_edgeGeometry = value;
}
}
public override StepItemType ItemType => StepItemType.EdgeCurve;
public void FromInstance(StepEdgeCurve entity)
{
base.FromInstance(entity);
EdgeGeometry = entity.EdgeGeometry;
}
internal static StepEdgeCurve FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepEdgeCurve edgeCurve = new StepEdgeCurve(binder);
enumerator.AssertEnumeratorCount(5);
edgeCurve.Name = (enumerator[0]as ExpStringNode)!.Value;
edgeCurve.EdgeStart = binder[enumerator[1]] as StepVertex;
edgeCurve.EdgeEnd = binder[enumerator[2]] as StepVertex;
edgeCurve.EdgeGeometry = binder[enumerator[3]] as StepCurve;
edgeCurve.IsSameSense = (enumerator[4]as ExpBoolNode)!.Value;
return edgeCurve;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEdgeCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepEdgeCurve : StepEdge, IExpConvertableFrom<StepEdgeCurve>
{
private StepCurve _edgeGeometry;
private StepEdgeCurve(StepModel model) : base(model) { }
public StepEdgeCurve(
StepModel model,
StepVertex edgeStart,
StepVertex edgeEnd,
StepCurve edgeGeometry,
bool isSameSense)
: base(model, edgeStart, edgeEnd)
{
EdgeGeometry = edgeGeometry;
IsSameSense = isSameSense;
}
public bool IsSameSense { get; set; }
public StepCurve EdgeGeometry
{
get { return _edgeGeometry; }
set
{
ArgumentNullException.ThrowIfNull(value);
_edgeGeometry = value;
}
}
public override StepItemType ItemType => StepItemType.EdgeCurve;
public void FromInstance(StepEdgeCurve entity)
{
base.FromInstance(entity);
EdgeGeometry = entity.EdgeGeometry;
}
internal static StepEdgeCurve FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepEdgeCurve edgeCurve = new StepEdgeCurve(binder);
enumerator.AssertEnumeratorCount(5);
edgeCurve.Name = (enumerator[0]as ExpStringNode)!.Value;
edgeCurve.EdgeStart = binder[enumerator[1]] as StepVertex;
edgeCurve.EdgeEnd = binder[enumerator[2]] as StepVertex;
edgeCurve.EdgeGeometry = binder[enumerator[3]] as StepCurve;
edgeCurve.IsSameSense = (enumerator[4]as ExpBoolNode)!.Value;
return edgeCurve;
}
}
}
+77 -77
View File
@@ -1,77 +1,77 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEdgeLoop"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public class StepEdgeLoop : StepLoop, IExpConvertableFrom<StepEdgeCurve>
{
public StepEdgeLoop(StepModel model, params StepOrientedEdge[] edgeList)
: this(model, (IEnumerable<StepOrientedEdge>)edgeList) { }
public StepEdgeLoop(StepModel model, IEnumerable<StepOrientedEdge> edgeList)
: base(model)
{
EdgeList = new List<StepOrientedEdge>(edgeList);
}
public List<StepOrientedEdge> EdgeList { get; private set; }
public override StepItemType ItemType => StepItemType.EdgeLoop;
public void FromInstance(StepEdgeCurve entity)
{
base.FromInstance(entity);
}
internal static StepEdgeLoop FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(2);
ExpNodePresidentEnumerator edgeSyntaxList = enumerator[1].TupleToPresidentEnumerator();
StepEdgeLoop edgeLoop = new StepEdgeLoop(
binder, new StepOrientedEdge[edgeSyntaxList.Count]);
edgeLoop.Name = (enumerator[0]as ExpStringNode)!.Value;
for (int i = 0; i < edgeSyntaxList.Count; i++)
{
int j = i; // capture to avoid rebinding
edgeLoop.EdgeList[j] = binder[edgeSyntaxList[j]] as StepOrientedEdge;
}
return edgeLoop;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEdgeLoop"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public class StepEdgeLoop : StepLoop, IExpConvertableFrom<StepEdgeCurve>
{
public StepEdgeLoop(StepModel model, params StepOrientedEdge[] edgeList)
: this(model, (IEnumerable<StepOrientedEdge>)edgeList) { }
public StepEdgeLoop(StepModel model, IEnumerable<StepOrientedEdge> edgeList)
: base(model)
{
EdgeList = new List<StepOrientedEdge>(edgeList);
}
public List<StepOrientedEdge> EdgeList { get; private set; }
public override StepItemType ItemType => StepItemType.EdgeLoop;
public void FromInstance(StepEdgeCurve entity)
{
base.FromInstance(entity);
}
internal static StepEdgeLoop FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(2);
ExpNodePresidentEnumerator edgeSyntaxList = enumerator[1].TupleToPresidentEnumerator();
StepEdgeLoop edgeLoop = new StepEdgeLoop(
binder, new StepOrientedEdge[edgeSyntaxList.Count]);
edgeLoop.Name = (enumerator[0]as ExpStringNode)!.Value;
for (int i = 0; i < edgeSyntaxList.Count; i++)
{
int j = i; // capture to avoid rebinding
edgeLoop.EdgeList[j] = binder[edgeSyntaxList[j]] as StepOrientedEdge;
}
return edgeLoop;
}
}
}
@@ -1,68 +1,68 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepElementarySurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepElementarySurface : StepSurface, IExpConvertableFrom<StepElementarySurface>
{
private StepAxis2Placement3D _position;
public StepElementarySurface(StepModel model) : base(model) { }
public StepElementarySurface(StepModel model, StepAxis2Placement3D position)
: base(model)
{
Position = position;
}
public StepAxis2Placement3D Position
{
get { return _position; }
set
{
ArgumentNullException.ThrowIfNull(value);
_position = value;
}
}
public void FromInstance(StepElementarySurface entity)
{
base.FromInstance(entity);
_position = entity.Position;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepElementarySurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepElementarySurface : StepSurface, IExpConvertableFrom<StepElementarySurface>
{
private StepAxis2Placement3D _position;
public StepElementarySurface(StepModel model) : base(model) { }
public StepElementarySurface(StepModel model, StepAxis2Placement3D position)
: base(model)
{
Position = position;
}
public StepAxis2Placement3D Position
{
get { return _position; }
set
{
ArgumentNullException.ThrowIfNull(value);
_position = value;
}
}
public void FromInstance(StepElementarySurface entity)
{
base.FromInstance(entity);
_position = entity.Position;
}
}
}
+90 -90
View File
@@ -1,90 +1,90 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEllipse"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepEllipse : StepConic, IExpConvertableFrom<StepEllipse>
{
private StepAxis2Placement _position;
private StepEllipse(StepModel model) : base(model) { }
public StepEllipse(StepModel model, string name, StepAxis2Placement position, float semiAxis1, float semiAxis2)
: base(model)
{
Position = position;
SemiAxis1 = semiAxis1;
SemiAxis2 = semiAxis2;
}
public float SemiAxis1 { get; set; }
public float SemiAxis2 { get; set; }
public StepAxis2Placement Position
{
get { return _position; }
set
{
ArgumentNullException.ThrowIfNull(value);
_position = value;
}
}
public override StepItemType ItemType => StepItemType.Ellipse;
public void FromInstance(StepEllipse entity)
{
base.FromInstance(entity);
SemiAxis1 = entity.SemiAxis1;
SemiAxis2 = entity.SemiAxis2;
}
internal static StepEllipse FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepEllipse ellipse = new StepEllipse(binder);
enumerator.AssertEnumeratorCount(4);
ellipse.Name = (enumerator[0]as ExpStringNode)!.Value;
ellipse.Position = binder[(enumerator[1] as StepEntityInstanceNode)!.Id]as StepAxis2Placement2D;
ellipse.SemiAxis1 = (enumerator[2] as ExpRealNumberNode)!.Value;
ellipse.SemiAxis2 = (enumerator[3] as ExpRealNumberNode)!.Value;
return ellipse;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepEllipse"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepEllipse : StepConic, IExpConvertableFrom<StepEllipse>
{
private StepAxis2Placement _position;
private StepEllipse(StepModel model) : base(model) { }
public StepEllipse(StepModel model, string name, StepAxis2Placement position, float semiAxis1, float semiAxis2)
: base(model)
{
Position = position;
SemiAxis1 = semiAxis1;
SemiAxis2 = semiAxis2;
}
public float SemiAxis1 { get; set; }
public float SemiAxis2 { get; set; }
public StepAxis2Placement Position
{
get { return _position; }
set
{
ArgumentNullException.ThrowIfNull(value);
_position = value;
}
}
public override StepItemType ItemType => StepItemType.Ellipse;
public void FromInstance(StepEllipse entity)
{
base.FromInstance(entity);
SemiAxis1 = entity.SemiAxis1;
SemiAxis2 = entity.SemiAxis2;
}
internal static StepEllipse FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepEllipse ellipse = new StepEllipse(binder);
enumerator.AssertEnumeratorCount(4);
ellipse.Name = (enumerator[0]as ExpStringNode)!.Value;
ellipse.Position = binder[(enumerator[1] as StepEntityInstanceNode)!.Id]as StepAxis2Placement2D;
ellipse.SemiAxis1 = (enumerator[2] as ExpRealNumberNode)!.Value;
ellipse.SemiAxis2 = (enumerator[3] as ExpRealNumberNode)!.Value;
return ellipse;
}
}
}
+59 -59
View File
@@ -1,59 +1,59 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFace"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public class StepFace : StepTopologicalRepresentationItem, IExpConvertableFrom<StepFace>
{
public StepFace(StepModel model) : base(model) { }
public List<StepFaceBound> Bounds { get; private set; } = new List<StepFaceBound>();
public override StepItemType ItemType => StepItemType.Face;
public void FromInstance(StepFace entity)
{
base.FromInstance(entity);
Bounds = entity.Bounds;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepFace";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFace"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
using System.Linq;
namespace StgSharp.Model.Step
{
public class StepFace : StepTopologicalRepresentationItem, IExpConvertableFrom<StepFace>
{
public StepFace(StepModel model) : base(model) { }
public List<StepFaceBound> Bounds { get; private set; } = new List<StepFaceBound>();
public override StepItemType ItemType => StepItemType.Face;
public void FromInstance(StepFace entity)
{
base.FromInstance(entity);
Bounds = entity.Bounds;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepFace";
}
}
}
+75 -75
View File
@@ -1,75 +1,75 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFaceBound"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepFaceBound : StepTopologicalRepresentationItem, IExpConvertableFrom<StepFaceBound>
{
public StepFaceBound(StepModel model) : base(model) { }
public StepFaceBound(StepModel model, StepLoop bound, bool orientation)
: base(model)
{
Bound = bound;
Orientation = orientation;
}
public bool Orientation { get; set; }
public override StepItemType ItemType => StepItemType.FaceBound;
public StepLoop Bound { get; set; }
public void FromInstance(StepFaceBound entity)
{
base.FromInstance(entity);
Bound = entity.Bound;
Orientation = entity.Orientation;
}
internal static StepFaceBound FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(3);
StepFaceBound faceBound = new StepFaceBound(binder);
faceBound.Name = (enumerator[0]as ExpStringNode)!.Value;
faceBound.Bound = binder[enumerator[1]] as StepLoop;
faceBound.Orientation = (enumerator[2]as ExpBoolNode)!.Value;
return faceBound;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFaceBound"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepFaceBound : StepTopologicalRepresentationItem, IExpConvertableFrom<StepFaceBound>
{
public StepFaceBound(StepModel model) : base(model) { }
public StepFaceBound(StepModel model, StepLoop bound, bool orientation)
: base(model)
{
Bound = bound;
Orientation = orientation;
}
public bool Orientation { get; set; }
public override StepItemType ItemType => StepItemType.FaceBound;
public StepLoop Bound { get; set; }
public void FromInstance(StepFaceBound entity)
{
base.FromInstance(entity);
Bound = entity.Bound;
Orientation = entity.Orientation;
}
internal static StepFaceBound FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(3);
StepFaceBound faceBound = new StepFaceBound(binder);
faceBound.Name = (enumerator[0]as ExpStringNode)!.Value;
faceBound.Bound = binder[enumerator[1]] as StepLoop;
faceBound.Orientation = (enumerator[2]as ExpBoolNode)!.Value;
return faceBound;
}
}
}
+62 -62
View File
@@ -1,62 +1,62 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFaceOuterBound"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepFaceOuterBound : StepFaceBound, IExpConvertableFrom<StepFaceOuterBound>
{
private StepFaceOuterBound(StepModel model) : base(model) { }
public StepFaceOuterBound(StepModel model, StepLoop bound, bool orientation)
: base(model, bound, orientation) { }
public override StepItemType ItemType => StepItemType.FaceOuterBound;
public void FromInstance(StepFaceOuterBound entity)
{
base.FromInstance(entity);
}
internal static new StepFaceOuterBound FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(3);
StepFaceOuterBound faceOuterBound = new StepFaceOuterBound(binder);
faceOuterBound.Name = (enumerator[0]as ExpStringNode)!.Value;
faceOuterBound.Bound = binder[enumerator[1]] as StepLoop;
faceOuterBound.Orientation = (enumerator[2]as ExpBoolNode)!.Value;
return faceOuterBound;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFaceOuterBound"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepFaceOuterBound : StepFaceBound, IExpConvertableFrom<StepFaceOuterBound>
{
private StepFaceOuterBound(StepModel model) : base(model) { }
public StepFaceOuterBound(StepModel model, StepLoop bound, bool orientation)
: base(model, bound, orientation) { }
public override StepItemType ItemType => StepItemType.FaceOuterBound;
public void FromInstance(StepFaceOuterBound entity)
{
base.FromInstance(entity);
}
internal static new StepFaceOuterBound FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
enumerator.AssertEnumeratorCount(3);
StepFaceOuterBound faceOuterBound = new StepFaceOuterBound(binder);
faceOuterBound.Name = (enumerator[0]as ExpStringNode)!.Value;
faceOuterBound.Bound = binder[enumerator[1]] as StepLoop;
faceOuterBound.Orientation = (enumerator[2]as ExpBoolNode)!.Value;
return faceOuterBound;
}
}
}
+55 -55
View File
@@ -1,55 +1,55 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFaceSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepFaceSurface : StepFace, IExpConvertableFrom<StepFaceSurface>
{
public StepFaceSurface(StepModel model) : base(model) { }
public bool SameSense { get; set; }
public StepSurface FaceGeometry { get; set; }
public void FromInstance(StepFaceSurface entity)
{
base.FromInstance(entity);
SameSense = entity.SameSense;
FaceGeometry = entity.FaceGeometry;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepFaceSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepFaceSurface : StepFace, IExpConvertableFrom<StepFaceSurface>
{
public StepFaceSurface(StepModel model) : base(model) { }
public bool SameSense { get; set; }
public StepSurface FaceGeometry { get; set; }
public void FromInstance(StepFaceSurface entity)
{
base.FromInstance(entity);
SameSense = entity.SameSense;
FaceGeometry = entity.FaceGeometry;
}
}
}
@@ -1,51 +1,51 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepGeometricRepresentationItem"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepGeometricRepresentationItem : StepRepresentationItem, IExpConvertableFrom<StepGeometricRepresentationItem>
{
public StepGeometricRepresentationItem(StepModel model) : base(model) { }
public void FromInstance(StepGeometricRepresentationItem entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName is "StepGeometricRepresentationItem";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepGeometricRepresentationItem"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepGeometricRepresentationItem : StepRepresentationItem, IExpConvertableFrom<StepGeometricRepresentationItem>
{
public StepGeometricRepresentationItem(StepModel model) : base(model) { }
public void FromInstance(StepGeometricRepresentationItem entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName is "StepGeometricRepresentationItem";
}
}
}
+110 -110
View File
@@ -1,110 +1,110 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepLine"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Mathematics;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepLine : StepCurve, IExpConvertableFrom<StepLine>
{
private StepCartesianPoint _point;
private StepVector _vector;
private StepLine(StepModel model) : base(model) { }
public StepLine(StepModel model, StepCartesianPoint point, StepVector vector)
: base(model)
{
Point = point;
Vector = vector;
}
public StepCartesianPoint Point
{
get { return _point; }
set
{
ArgumentNullException.ThrowIfNull(value);
_point = value;
}
}
public override StepItemType ItemType => StepItemType.Line;
public StepVector Vector
{
get { return _vector; }
set
{
ArgumentNullException.ThrowIfNull(value);
_vector = value;
}
}
public void FromInstance(StepLine entity)
{
base.FromInstance(entity);
Point = entity.Point;
Vector = entity.Vector;
}
public static StepLine FromPoints(StepModel model, float x1, float y1, float z1, float x2, float y2, float z2)
{
StepCartesianPoint start = new StepCartesianPoint(model, x1, y1, z1);
float dx = x2 - x1;
float dy = y2 - y1;
float dz = z2 - z1;
float length = Scalar.Sqrt(dx * dx + dy * dy + dz * dz);
float dxn = dx / length;
float dyn = dy / length;
float dzn = dz / length;
StepVector vector = new StepVector(
model, new StepDirection(model, dxn, dyn, dzn), length);
return new StepLine(model, start, vector);
}
internal static StepLine FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepLine line = new StepLine(binder);
enumerator.AssertEnumeratorCount(3);
line.Name = (enumerator[0]as ExpStringNode)!.Value;
line.Point = binder[enumerator[1]] as StepCartesianPoint;
line.Vector = binder[enumerator[2]] as StepVector;
return line;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepLine"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Mathematics;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepLine : StepCurve, IExpConvertableFrom<StepLine>
{
private StepCartesianPoint _point;
private StepVector _vector;
private StepLine(StepModel model) : base(model) { }
public StepLine(StepModel model, StepCartesianPoint point, StepVector vector)
: base(model)
{
Point = point;
Vector = vector;
}
public StepCartesianPoint Point
{
get { return _point; }
set
{
ArgumentNullException.ThrowIfNull(value);
_point = value;
}
}
public override StepItemType ItemType => StepItemType.Line;
public StepVector Vector
{
get { return _vector; }
set
{
ArgumentNullException.ThrowIfNull(value);
_vector = value;
}
}
public void FromInstance(StepLine entity)
{
base.FromInstance(entity);
Point = entity.Point;
Vector = entity.Vector;
}
public static StepLine FromPoints(StepModel model, float x1, float y1, float z1, float x2, float y2, float z2)
{
StepCartesianPoint start = new StepCartesianPoint(model, x1, y1, z1);
float dx = x2 - x1;
float dy = y2 - y1;
float dz = z2 - z1;
float length = Scalar.Sqrt(dx * dx + dy * dy + dz * dz);
float dxn = dx / length;
float dyn = dy / length;
float dzn = dz / length;
StepVector vector = new StepVector(
model, new StepDirection(model, dxn, dyn, dzn), length);
return new StepLine(model, start, vector);
}
internal static StepLine FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepLine line = new StepLine(binder);
enumerator.AssertEnumeratorCount(3);
line.Name = (enumerator[0]as ExpStringNode)!.Value;
line.Point = binder[enumerator[1]] as StepCartesianPoint;
line.Vector = binder[enumerator[2]] as StepVector;
return line;
}
}
}
+46 -46
View File
@@ -1,46 +1,46 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepLoop"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public abstract class StepLoop : StepTopologicalRepresentationItem, IExpConvertableFrom<StepLoop>
{
protected StepLoop(StepModel model) : base(model) { }
public void FromInstance(StepLoop entity)
{
base.FromInstance(entity);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepLoop"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public abstract class StepLoop : StepTopologicalRepresentationItem, IExpConvertableFrom<StepLoop>
{
protected StepLoop(StepModel model) : base(model) { }
public void FromInstance(StepLoop entity)
{
base.FromInstance(entity);
}
}
}
+97 -97
View File
@@ -1,97 +1,97 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepOrientedEdge"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using Microsoft.Win32.SafeHandles;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepOrientedEdge : StepEdge, IExpConvertableFrom<StepOrientedEdge>
{
private StepEdge _edgeElement;
private StepOrientedEdge(StepModel model) : base(model) { }
public StepOrientedEdge(
StepModel model,
StepVertex edgeStart,
StepVertex edgeEnd,
StepEdge edgeElement,
bool orientation)
: base(model, edgeStart, edgeEnd)
{
EdgeElement = edgeElement;
Orientation = orientation;
}
public bool Orientation { get; set; }
public StepEdge EdgeElement
{
get { return _edgeElement; }
set
{
if (value == null) {
throw new ArgumentNullException();
}
_edgeElement = value;
}
}
public override StepItemType ItemType => StepItemType.OrientedEdge;
public void FromInstance(StepOrientedEdge entity)
{
base.FromInstance(entity);
EdgeElement = entity.EdgeElement;
Orientation = entity.Orientation;
}
internal static StepOrientedEdge FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepOrientedEdge orientedEdge = new StepOrientedEdge(binder);
enumerator.AssertEnumeratorCount(5);
orientedEdge.Name = (enumerator[0]as ExpStringNode)!.Value;
orientedEdge.EdgeStart = binder[enumerator[1]]as StepVertex;
orientedEdge.EdgeEnd = binder[enumerator[2]] as StepVertex;
orientedEdge.EdgeElement = binder[enumerator[3]] as StepEdge;
orientedEdge.Orientation = (enumerator[4]as ExpBoolNode)!.Value;
return orientedEdge;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepOrientedEdge"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using Microsoft.Win32.SafeHandles;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepOrientedEdge : StepEdge, IExpConvertableFrom<StepOrientedEdge>
{
private StepEdge _edgeElement;
private StepOrientedEdge(StepModel model) : base(model) { }
public StepOrientedEdge(
StepModel model,
StepVertex edgeStart,
StepVertex edgeEnd,
StepEdge edgeElement,
bool orientation)
: base(model, edgeStart, edgeEnd)
{
EdgeElement = edgeElement;
Orientation = orientation;
}
public bool Orientation { get; set; }
public StepEdge EdgeElement
{
get { return _edgeElement; }
set
{
if (value == null) {
throw new ArgumentNullException();
}
_edgeElement = value;
}
}
public override StepItemType ItemType => StepItemType.OrientedEdge;
public void FromInstance(StepOrientedEdge entity)
{
base.FromInstance(entity);
EdgeElement = entity.EdgeElement;
Orientation = entity.Orientation;
}
internal static StepOrientedEdge FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepOrientedEdge orientedEdge = new StepOrientedEdge(binder);
enumerator.AssertEnumeratorCount(5);
orientedEdge.Name = (enumerator[0]as ExpStringNode)!.Value;
orientedEdge.EdgeStart = binder[enumerator[1]]as StepVertex;
orientedEdge.EdgeEnd = binder[enumerator[2]] as StepVertex;
orientedEdge.EdgeElement = binder[enumerator[3]] as StepEdge;
orientedEdge.Orientation = (enumerator[4]as ExpBoolNode)!.Value;
return orientedEdge;
}
}
}
@@ -1,49 +1,49 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPcurveOrSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step.Items
{
public class StepPCurveOrSurface : StepGeometricRepresentationItem, IExpConvertableFrom<StepPCurveOrSurface>
{
public StepPCurveOrSurface(StepModel model) : base(model) { }
public void FromInstance(StepPCurveOrSurface entity)
{
base.FromInstance(entity);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPcurveOrSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step.Items
{
public class StepPCurveOrSurface : StepGeometricRepresentationItem, IExpConvertableFrom<StepPCurveOrSurface>
{
public StepPCurveOrSurface(StepModel model) : base(model) { }
public void FromInstance(StepPCurveOrSurface entity)
{
base.FromInstance(entity);
}
}
}
+72 -72
View File
@@ -1,72 +1,72 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPlacement"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
namespace StgSharp.Model.Step
{
public class StepPlacement : StepGeometricRepresentationItem, IExpConvertableFrom<StepPlacement>
{
private StepCartesianPoint _location;
public StepPlacement(StepModel model) : base(model) { }
public StepPlacement(StepModel model, StepCartesianPoint location)
: base(model)
{
_location = location;
}
public StepCartesianPoint Location
{
get { return _location; }
set
{
ArgumentNullException.ThrowIfNull(value);
_location = value;
}
}
public void FromInstance(StepPlacement entity)
{
base.FromInstance(entity);
this.Location = entity.Location;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepPlacement";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPlacement"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
namespace StgSharp.Model.Step
{
public class StepPlacement : StepGeometricRepresentationItem, IExpConvertableFrom<StepPlacement>
{
private StepCartesianPoint _location;
public StepPlacement(StepModel model) : base(model) { }
public StepPlacement(StepModel model, StepCartesianPoint location)
: base(model)
{
_location = location;
}
public StepCartesianPoint Location
{
get { return _location; }
set
{
ArgumentNullException.ThrowIfNull(value);
_location = value;
}
}
public void FromInstance(StepPlacement entity)
{
base.FromInstance(entity);
this.Location = entity.Location;
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepPlacement";
}
}
}
+61 -61
View File
@@ -1,61 +1,61 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPlane"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Geometries;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepPlane : StepElementarySurface, IExpConvertableFrom<StepPlane>
{
public StepPlane(StepModel model) : base(model) { }
public StepPlane(StepModel model, StepAxis2Placement3D position) : base(model, position) { }
public override StepItemType ItemType => StepItemType.Plane;
public void FromInstance(StepPlane entity)
{
base.FromInstance(entity);
}
internal static StepPlane FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepPlane plane = new StepPlane(binder);
enumerator.AssertEnumeratorCount(2);
plane.Name = (enumerator[0]as ExpStringNode)!.Value;
plane.Position = binder[enumerator[1]] as StepAxis2Placement3D;
return plane;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPlane"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Geometries;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepPlane : StepElementarySurface, IExpConvertableFrom<StepPlane>
{
public StepPlane(StepModel model) : base(model) { }
public StepPlane(StepModel model, StepAxis2Placement3D position) : base(model, position) { }
public override StepItemType ItemType => StepItemType.Plane;
public void FromInstance(StepPlane entity)
{
base.FromInstance(entity);
}
internal static StepPlane FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepPlane plane = new StepPlane(binder);
enumerator.AssertEnumeratorCount(2);
plane.Name = (enumerator[0]as ExpStringNode)!.Value;
plane.Position = binder[enumerator[1]] as StepAxis2Placement3D;
return plane;
}
}
}
+55 -55
View File
@@ -1,55 +1,55 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPoint"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
namespace StgSharp.Model.Step
{
public class StepPoint : StepGeometricRepresentationItem, IExpConvertableFrom<StepPoint>
{
public StepPoint(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.Point;
public void FromInstance(StepPoint entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepPoint";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepPoint"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
namespace StgSharp.Model.Step
{
public class StepPoint : StepGeometricRepresentationItem, IExpConvertableFrom<StepPoint>
{
public StepPoint(StepModel model) : base(model) { }
public override StepItemType ItemType => StepItemType.Point;
public void FromInstance(StepPoint entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepPoint";
}
}
}
@@ -1,61 +1,61 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepRepresentationItem"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using Microsoft.CodeAnalysis.CSharp.Syntax;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepRepresentationItem : StepEntityBase, IExpConvertableFrom<StepRepresentationItem>
{
protected StepRepresentationItem(StepModel model)
{
Context = model;
}
public override StepItemType ItemType => StepItemType.PresentationItem;
public void FromInstance(StepRepresentationItem entity)
{
base.FromInstance(entity);
}
public virtual bool IsConvertableTo(string entityName)
{
return entityName == "StepRepresentationItem";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepRepresentationItem"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using Microsoft.CodeAnalysis.CSharp.Syntax;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepRepresentationItem : StepEntityBase, IExpConvertableFrom<StepRepresentationItem>
{
protected StepRepresentationItem(StepModel model)
{
Context = model;
}
public override StepItemType ItemType => StepItemType.PresentationItem;
public void FromInstance(StepRepresentationItem entity)
{
base.FromInstance(entity);
}
public virtual bool IsConvertableTo(string entityName)
{
return entityName == "StepRepresentationItem";
}
}
}
+51 -51
View File
@@ -1,51 +1,51 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepSurface : StepGeometricRepresentationItem, IExpConvertableFrom<StepSurface>
{
protected StepSurface(StepModel model) : base(model) { }
public void FromInstance(StepSurface entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepSurface";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepSurface"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepSurface : StepGeometricRepresentationItem, IExpConvertableFrom<StepSurface>
{
protected StepSurface(StepModel model) : base(model) { }
public void FromInstance(StepSurface entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepSurface";
}
}
}
+51 -51
View File
@@ -1,51 +1,51 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepSurfaceCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
public class StepSurfaceCurve : StepCurve, IExpConvertableFrom<StepSurfaceCurve>
{
public StepSurfaceCurve(StepModel model) : base(model) { }
public StepCurve Curve3D { get; set; }
public void FromInstance(StepSurfaceCurve entity)
{
throw new NotImplementedException();
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepSurfaceCurve"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Model.Step
{
public class StepSurfaceCurve : StepCurve, IExpConvertableFrom<StepSurfaceCurve>
{
public StepSurfaceCurve(StepModel model) : base(model) { }
public StepCurve Curve3D { get; set; }
public void FromInstance(StepSurfaceCurve entity)
{
throw new NotImplementedException();
}
}
}
@@ -1,53 +1,53 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepTopologicalRepresentationItem"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
namespace StgSharp.Model.Step
{
public class StepTopologicalRepresentationItem : StepRepresentationItem, IExpConvertableFrom<StepTopologicalRepresentationItem>
{
protected StepTopologicalRepresentationItem(StepModel model) : base(model) { }
public void FromInstance(StepTopologicalRepresentationItem entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepTopologicalRepresentationItem";
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepTopologicalRepresentationItem"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
namespace StgSharp.Model.Step
{
public class StepTopologicalRepresentationItem : StepRepresentationItem, IExpConvertableFrom<StepTopologicalRepresentationItem>
{
protected StepTopologicalRepresentationItem(StepModel model) : base(model) { }
public void FromInstance(StepTopologicalRepresentationItem entity)
{
base.FromInstance(entity);
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepTopologicalRepresentationItem";
}
}
}
+134 -134
View File
@@ -1,134 +1,134 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepTriple"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Mathematics;
using StgSharp.Mathematics.Graphic;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public abstract class StepTriple : StepPoint, IExpConvertableFrom<StepTriple>
{
private Vec3 _coord;
protected StepTriple(StepModel model) : this(model, 0.0f, 0.0f, 0.0f) { }
protected StepTriple(StepModel model, float x, float y, float z)
: base(model)
{
X = x;
Y = y;
Z = z;
}
public float X
{
get => _coord.X;
set => _coord.X = value;
}
public float Y
{
get => _coord.Y;
set => _coord.Y = value;
}
public float Z
{
get => _coord.Z;
set => _coord.Z = value;
}
protected abstract int MinimumValueCount { get; }
public bool Equals(StepTriple other)
{
if (other is null) {
return false;
}
return ItemType == other.ItemType && X == other.X && Y == other.Y && Z == other.Z && Name == other.Name;
}
public override bool Equals(object obj)
{
return (obj is StepTriple triple) && Equals(triple);
}
public void FromInstance(StepTriple entity)
{
base.FromInstance(entity);
_coord = entity._coord;
}
public override int GetHashCode()
{
return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode();
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepTriple";
}
internal static T AssignTo<T>(T triple, ExpSyntaxNode values) where T: StepTriple
{
ExpNodePresidentEnumerator enumerator = values.ToPresidentEnumerator();
enumerator.AssertEnumeratorCount(2);
triple.Name = (enumerator[0]as ExpStringNode)!.Value;
ExpNodePresidentEnumerator pointValues = enumerator[1].TupleToPresidentEnumerator();
pointValues.AssertEnumeratorCount(triple.MinimumValueCount, 3);
triple._coord = StepDataParser.ToVector3D(pointValues[0]);
return triple;
}
public static bool operator !=(StepTriple left, StepTriple right)
{
return !(left == right);
}
public static bool operator ==(StepTriple left, StepTriple right)
{
if (ReferenceEquals(left, right)) {
return true;
}
if (left is null || right is null) {
return false;
}
return left.Equals(right);
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepTriple"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Mathematics;
using StgSharp.Mathematics.Graphic;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public abstract class StepTriple : StepPoint, IExpConvertableFrom<StepTriple>
{
private Vec3 _coord;
protected StepTriple(StepModel model) : this(model, 0.0f, 0.0f, 0.0f) { }
protected StepTriple(StepModel model, float x, float y, float z)
: base(model)
{
X = x;
Y = y;
Z = z;
}
public float X
{
get => _coord.X;
set => _coord.X = value;
}
public float Y
{
get => _coord.Y;
set => _coord.Y = value;
}
public float Z
{
get => _coord.Z;
set => _coord.Z = value;
}
protected abstract int MinimumValueCount { get; }
public bool Equals(StepTriple other)
{
if (other is null) {
return false;
}
return ItemType == other.ItemType && X == other.X && Y == other.Y && Z == other.Z && Name == other.Name;
}
public override bool Equals(object obj)
{
return (obj is StepTriple triple) && Equals(triple);
}
public void FromInstance(StepTriple entity)
{
base.FromInstance(entity);
_coord = entity._coord;
}
public override int GetHashCode()
{
return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode();
}
public override bool IsConvertableTo(string entityName)
{
return base.IsConvertableTo(entityName) || entityName == "StepTriple";
}
internal static T AssignTo<T>(T triple, ExpSyntaxNode values) where T: StepTriple
{
ExpNodePresidentEnumerator enumerator = values.ToPresidentEnumerator();
enumerator.AssertEnumeratorCount(2);
triple.Name = (enumerator[0]as ExpStringNode)!.Value;
ExpNodePresidentEnumerator pointValues = enumerator[1].TupleToPresidentEnumerator();
pointValues.AssertEnumeratorCount(triple.MinimumValueCount, 3);
triple._coord = StepDataParser.ToVector3D(pointValues[0]);
return triple;
}
public static bool operator !=(StepTriple left, StepTriple right)
{
return !(left == right);
}
public static bool operator ==(StepTriple left, StepTriple right)
{
if (ReferenceEquals(left, right)) {
return true;
}
if (left is null || right is null) {
return false;
}
return left.Equals(right);
}
}
}
+85 -85
View File
@@ -1,85 +1,85 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepVector"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepVector : StepGeometricRepresentationItem, IExpConvertableFrom<StepVector>
{
private StepDirection _direction;
private StepVector(StepModel model) : base(model) { }
public StepVector(StepModel model, StepDirection direction, double length)
: base(model)
{
Direction = direction;
Length = length;
}
public double Length { get; set; }
public StepDirection Direction
{
get { return _direction; }
set
{
ArgumentNullException.ThrowIfNull(value);
_direction = value;
}
}
public override StepItemType ItemType => StepItemType.Vector;
public void FromInstance(StepVector entity)
{
base.FromInstance(entity);
_direction = entity.Direction;
}
internal static StepVector FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepVector vector = new StepVector(binder);
enumerator.AssertEnumeratorCount(3);
vector.Name = (enumerator[0]as ExpStringNode)!.Value;
vector.Direction = binder[enumerator[1]] as StepDirection;
vector.Length = (enumerator[2]as ExpRealNumberNode)!.Value;
return vector;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepVector"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepVector : StepGeometricRepresentationItem, IExpConvertableFrom<StepVector>
{
private StepDirection _direction;
private StepVector(StepModel model) : base(model) { }
public StepVector(StepModel model, StepDirection direction, double length)
: base(model)
{
Direction = direction;
Length = length;
}
public double Length { get; set; }
public StepDirection Direction
{
get { return _direction; }
set
{
ArgumentNullException.ThrowIfNull(value);
_direction = value;
}
}
public override StepItemType ItemType => StepItemType.Vector;
public void FromInstance(StepVector entity)
{
base.FromInstance(entity);
_direction = entity.Direction;
}
internal static StepVector FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepVector vector = new StepVector(binder);
enumerator.AssertEnumeratorCount(3);
vector.Name = (enumerator[0]as ExpStringNode)!.Value;
vector.Direction = binder[enumerator[1]] as StepDirection;
vector.Length = (enumerator[2]as ExpRealNumberNode)!.Value;
return vector;
}
}
}
+51 -51
View File
@@ -1,51 +1,51 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepVertex"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Mathematics;
using StgSharp.Mathematics.Graphic;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepVertex : StepTopologicalRepresentationItem, IExpConvertableFrom<StepVertex>
{
public StepVertex(StepModel model) : base(model) { }
public Vec3 Vertex { get; set; }
public void FromInstance(StepVertex entity)
{
base.FromInstance(entity);
Vertex = entity.Vertex;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepVertex"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Mathematics;
using StgSharp.Mathematics.Graphic;
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
namespace StgSharp.Model.Step
{
public class StepVertex : StepTopologicalRepresentationItem, IExpConvertableFrom<StepVertex>
{
public StepVertex(StepModel model) : base(model) { }
public Vec3 Vertex { get; set; }
public void FromInstance(StepVertex entity)
{
base.FromInstance(entity);
Vertex = entity.Vertex;
}
}
}
+80 -80
View File
@@ -1,80 +1,80 @@
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepVertexPoint"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepVertexPoint : StepVertex, IExpConvertableFrom<StepVertexPoint>
{
private StepCartesianPoint _location;
public StepVertexPoint(StepModel model) : base(model) { }
public StepVertexPoint(StepModel model, StepCartesianPoint location)
: base(model)
{
Location = location;
}
public StepCartesianPoint Location
{
get { return _location; }
set
{
ArgumentNullException.ThrowIfNull(value);
_location = value;
}
}
public override StepItemType ItemType => StepItemType.VertexPoint;
public void FromInstance(StepVertexPoint entity)
{
base.FromInstance(entity);
this.Location = entity.Location;
}
internal static StepVertexPoint FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepVertexPoint vertex = new StepVertexPoint(binder);
enumerator.AssertEnumeratorCount(2);
vertex.Name = (enumerator[0]as ExpStringNode)!.Value;
vertex.Location = binder[enumerator[1]] as StepCartesianPoint;
return vertex;
}
}
}
//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="StepVertexPoint"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Model.Step;
using StgSharp.Script;
using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
namespace StgSharp.Model.Step
{
public class StepVertexPoint : StepVertex, IExpConvertableFrom<StepVertexPoint>
{
private StepCartesianPoint _location;
public StepVertexPoint(StepModel model) : base(model) { }
public StepVertexPoint(StepModel model, StepCartesianPoint location)
: base(model)
{
Location = location;
}
public StepCartesianPoint Location
{
get { return _location; }
set
{
ArgumentNullException.ThrowIfNull(value);
_location = value;
}
}
public override StepItemType ItemType => StepItemType.VertexPoint;
public void FromInstance(StepVertexPoint entity)
{
base.FromInstance(entity);
this.Location = entity.Location;
}
internal static StepVertexPoint FromSyntax(StepModel binder, ExpSyntaxNode syntaxList)
{
ExpNodePresidentEnumerator enumerator = new ExpNodePresidentEnumerator(syntaxList);
StepVertexPoint vertex = new StepVertexPoint(binder);
enumerator.AssertEnumeratorCount(2);
vertex.Name = (enumerator[0]as ExpStringNode)!.Value;
vertex.Location = binder[enumerator[1]] as StepCartesianPoint;
return vertex;
}
}
}