public AnnotationInferenceService(SessionData sessionData, InferenceOptions inferenceOptions) { this.inferenceEngine = new InferenceEngine( new InferrerEntry { Inferrer = new OrthogonalityInferrer(sessionData), IsEnabledPredicate = () => inferenceOptions.OrthogonalAxes }, new InferrerEntry { Inferrer = new ColinearCentersInferer(sessionData), IsEnabledPredicate = () => inferenceOptions.CollinearCenters }, new InferrerEntry { Inferrer = new ParallelismInferer(sessionData), IsEnabledPredicate = () => inferenceOptions.Parallelism }, new InferrerEntry { Inferrer = new CoplanarityInferer(sessionData), IsEnabledPredicate = () => inferenceOptions.Coplanarity }, new InferrerEntry { Inferrer = new OnSphereInferrer(sessionData), IsEnabledPredicate = () => inferenceOptions.OnSphere }, new InferrerEntry { Inferrer = new CocentralityInferrer(sessionData), IsEnabledPredicate = () => inferenceOptions.Cocentrality }, new InferrerEntry { Inferrer = new SameRadiusInferrer(sessionData), IsEnabledPredicate = () => inferenceOptions.SameRadius }, new InferrerEntry { Inferrer = new ContainmentCoplanarityInferrer(sessionData), IsEnabledPredicate = () => inferenceOptions.Coplanarity }); }
public EditMenuViewModel(InferenceOptions inferenceOptions, SnapOptions snapOptions, IEventAggregator eventAggregator) : this() { this.eventAggregator = eventAggregator; InferenceOptions = inferenceOptions; SnapOptions = snapOptions; }