public CacheData(FunctionDependency dependency, string functionName) { _dependency = dependency; _functionName = functionName; Data = new List <object>(); foreach (var dependencyNode in dependency.Children) { switch (dependencyNode.Name) { case InterpreterNames.Real: Data.Add(dependencyNode.Real); break; case InterpreterNames.TransformedPoint3D: Data.Add(dependencyNode.TransformedPoint3D); break; case InterpreterNames.Integer: Data.Add(dependencyNode.Integer); break; default: Data.Add(null); break; } } }
private bool ApplyConstraint(FunctionDependency dependency, ref AISInteractiveObject interactive, Point3D destinationPoint, Point3D sourcePoint, Point3D distancePoint) { var transform = dependency[1].Reference.Set <TransformationInterpreter>(); var substractedDistance = destinationPoint.SubstractCoordinate(sourcePoint); if (dependency[0].Reference.Index != dependency[1].Reference.Index) { if (distancePoint.IsEqual(substractedDistance)) { interactive = UpdateInteractive(sourcePoint); return(true); } var translateVal = new Point3D(transform.Translate); transform.Translate = translateVal.AddCoordinate(distancePoint.SubstractCoordinate(substractedDistance)).GpPnt; } else { var origin = new Point3D(); var pointDistance = distancePoint.Distance(origin); var expectedDistance = substractedDistance.Distance(origin); if (Math.Abs(pointDistance - expectedDistance) < Precision.Confusion) { interactive = UpdateInteractive(sourcePoint); return(true); } transform.Scale = transform.Scale * pointDistance / expectedDistance; } return(false); }
public void Execute(object parameter) { var args = (parameter as object[])[1] as AddingNewItemEventArgs; var newDependency = new FunctionDependency(); this.appContext.FunctionDependencies.Add(newDependency); args.NewItem = this.mapper.Map <FunctionDependencyPageDependencyItemViewModel>(newDependency); }
public void SetNode(Node shape) { Node = shape; if (Node.Get <FunctionInterpreter>() == null) { return; } Dependency = Node.Get <FunctionInterpreter>().Dependency; }