public override bool Execute() { var dependency = Builder.Node.Get <FunctionInterpreter>().Dependency; var firstData = dependency[Constant.StepIndexBeamFirstNode].ReferenceData; var firstNode = firstData.Node; var firstIndex = firstData.ShapeCount; var firstPointValue = ShapeUtils.ExtractShapesPoint(firstNode, firstIndex); var secondData = dependency[Constant.StepIndexBeamSecondNode].ReferenceData; var secondNode = secondData.Node; var secondIndex = secondData.ShapeCount; var secondPointValue = ShapeUtils.ExtractShapesPoint(secondNode, secondIndex); if (firstPointValue.IsEqual(secondPointValue, Precision.Confusion)) { return(false); } NodeUtils.Hide(firstNode); NodeUtils.Hide(secondNode); var aEdge = new BRepBuilderAPIMakeEdge(firstPointValue, secondPointValue).Edge; var wire = new BRepBuilderAPIMakeWire(aEdge).Wire; Shape = wire; return(true); }
public static Point3D ComputePointPosition(Node node, int vertexIndex) { if (node == null) { throw new ArgumentNullException("node"); } return(ShapeUtils.ExtractShape(node) == null ? new Point3D() : new Point3D(ShapeUtils.ExtractShapesPoint(node, vertexIndex))); }
public static Point3D GetReferencePoint(NodeBuilder builder, int index) { var dependency = builder.Node.Get <FunctionInterpreter>().Dependency; var sourceData = dependency[index].ReferenceData; var shapeNode = sourceData.Node; var pointIndex = dependency[index].ReferenceData.ShapeCount; var soucePointValue = ShapeUtils.ExtractShapesPoint(shapeNode, pointIndex); return(new Point3D(soucePointValue)); }