old data
This commit is contained in:
@@ -28,31 +28,28 @@
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
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
|
||||
namespace StgSharp.Modeling.Items
|
||||
{
|
||||
public class StepOrientedEdge : StepEdge, IExpConvertableFrom<StepOrientedEdge>
|
||||
public class StepOrientedEdge : StepEdge
|
||||
{
|
||||
|
||||
private StepEdge _edgeElement;
|
||||
|
||||
private StepOrientedEdge( StepModel model ) : base( model ) { }
|
||||
private StepOrientedEdge() { }
|
||||
|
||||
public StepOrientedEdge(
|
||||
StepModel model,
|
||||
string name,
|
||||
StepVertex edgeStart,
|
||||
StepVertex edgeEnd,
|
||||
StepEdge edgeElement,
|
||||
bool orientation )
|
||||
: base( model, edgeStart, edgeEnd )
|
||||
: base( name, edgeStart, edgeEnd )
|
||||
{
|
||||
EdgeElement = edgeElement;
|
||||
Orientation = orientation;
|
||||
@@ -75,24 +72,31 @@ namespace StgSharp.Model.Step
|
||||
|
||||
public override StepItemType ItemType => StepItemType.OrientedEdge;
|
||||
|
||||
public void FromInstance( StepOrientedEdge entity )
|
||||
internal static StepOrientedEdge CreateFromSyntaxList(
|
||||
StepBinder binder,
|
||||
ExpNode syntaxList )
|
||||
{
|
||||
base.FromInstance( entity );
|
||||
EdgeElement = entity.EdgeElement;
|
||||
Orientation = entity.Orientation;
|
||||
ExpNodeNextEnumerator enumerator = new ExpNodeNextEnumerator( syntaxList );
|
||||
StepOrientedEdge orientedEdge = new StepOrientedEdge();
|
||||
enumerator.AssertEnumeratorCount( 5 );
|
||||
orientedEdge.Name = enumerator.Values[ 0 ].CodeConvertTemplate;
|
||||
binder.BindValue(
|
||||
enumerator.Values[ 1 ], v => orientedEdge.EdgeStart = v.AsType<StepVertex>() );
|
||||
binder.BindValue(
|
||||
enumerator.Values[ 2 ], v => orientedEdge.EdgeEnd = v.AsType<StepVertex>() );
|
||||
binder.BindValue(
|
||||
enumerator.Values[ 3 ], v => orientedEdge.EdgeElement = v.AsType<StepEdge>() );
|
||||
orientedEdge.Orientation = ( enumerator.Values[ 4 ]as ExpBoolNode )!.Value;
|
||||
return orientedEdge;
|
||||
}
|
||||
|
||||
internal static StepOrientedEdge FromSyntax( StepModel binder, ExpSyntaxNode syntaxList )
|
||||
internal override IEnumerable<StepRepresentationItem> GetReferencedItems()
|
||||
{
|
||||
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;
|
||||
foreach( StepRepresentationItem item in base.GetReferencedItems() ) {
|
||||
yield return item;
|
||||
}
|
||||
|
||||
yield return EdgeElement;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user