public OptimizationParam OptimizationGetParam() { OptimizationParam optimizationParam = new OptimizationParam(); EmoEngine.errorHandler(EdkDll.EE_OptimizationGetParam(optimizationParam.GetHandle())); return(optimizationParam); }
public void OptimizationEnable(OptimizationParam param) { if (param == null) { throw new NullReferenceException(); } EmoEngine.errorHandler(EdkDll.EE_OptimizationEnable(param.GetHandle())); }
static void keyHandler(ConsoleKey key) { switch (key) { case ConsoleKey.F1: EmoEngine.Instance.CognitivSetTrainingAction(0, EdkDll.EE_CognitivAction_t.COG_PUSH); EmoEngine.Instance.CognitivSetTrainingControl(0, EdkDll.EE_CognitivTrainingControl_t.COG_START); break; case ConsoleKey.F2: EmoEngine.Instance.ExpressivSetTrainingAction(0, EdkDll.EE_ExpressivAlgo_t.EXP_CLENCH); EmoEngine.Instance.ExpressivSetTrainingControl(0, EdkDll.EE_ExpressivTrainingControl_t.EXP_START); break; case ConsoleKey.F3: profile = EmoEngine.Instance.GetUserProfile(0); Console.WriteLine("Get profile"); break; case ConsoleKey.F4: EmoEngine.Instance.SetUserProfile(0, profile); Console.WriteLine("Set profile"); break; case ConsoleKey.F5: EmoEngine.Instance.CognitivSetActivationLevel(0, 2); Console.WriteLine("Cog Activateion level set to {0}", EmoEngine.Instance.CognitivGetActivationLevel(0)); break; case ConsoleKey.F6: Console.WriteLine("Cog Activateion level is {0}", EmoEngine.Instance.CognitivGetActivationLevel(0)); break; case ConsoleKey.F7: OptimizationParam oParam = new OptimizationParam(); oParam.SetVitalAlgorithm(EdkDll.EE_EmotivSuite_t.EE_AFFECTIV, 0); oParam.SetVitalAlgorithm(EdkDll.EE_EmotivSuite_t.EE_COGNITIV, 0); oParam.SetVitalAlgorithm(EdkDll.EE_EmotivSuite_t.EE_EXPRESSIV, 0); EmoEngine.Instance.OptimizationEnable(oParam); Console.WriteLine("Optimization is On"); break; case ConsoleKey.F8: EmoEngine.Instance.OptimizationDisable(); Console.WriteLine("Optimization is Off"); break; case ConsoleKey.F9: String version; UInt32 buildNum; EmoEngine.Instance.SoftwareGetVersion(out version, out buildNum); Console.WriteLine("Software Version: {0}, {1}", version, buildNum); break; } }
private async Task <AdjacencyGraph <NavigationPoint, WeightedEdge <NavigationPoint> > > GenerateCosts( AdjacencyGraph <NavigationPoint, TransportEdge <NavigationPoint> > segmentedGraph, OptimizationParam optimizer) { var weightedGraph = new AdjacencyGraph <NavigationPoint, WeightedEdge <NavigationPoint> >(); var weightingTasks = new List <Task <WeightedEdge <NavigationPoint> > >( segmentedGraph.Edges.Select((async edge => { var segment = new RoutingSegment(edge.Source, edge.Target, edge.NavigationMode); var costedRoute = await _navigationCostGeneratorService.GetCostForSegment(segment, optimizer); _internalCache.Add(segment, costedRoute); return(new WeightedEdge <NavigationPoint>(edge.Source, edge.Target, edge.NavigationMode, costedRoute.cost)); }))); weightedGraph.AddVerticesAndEdgeRange(await Task.WhenAll(weightingTasks)); return(weightedGraph); }
public double GetCostFromRouteSummary(RouteDirectionsSummary routeDirectionsSummary, OptimizationParam optimizer) { return EstimateMonetaryCost(routeDirectionsSummary) * (OptimizationParam.MaxValue - optimizer.OptimizerValue) + EstimateTimeCost(routeDirectionsSummary) * optimizer.OptimizerValue; }
public async Task<RoutingSegmentResult> GetCost(NavigationPoint start, NavigationPoint end, OptimizationParam optimizer) { // Call API from start to end to figure how much time it'll take var routingResult = await _mapsService.GetRouteDirections(start, end, NavigationMode); var routingCost = GetCostFromRouteSummary(routingResult.Summary, optimizer); return new RoutingSegmentResult(NavigationMode.ToString(), GetNavigationPointsFromLegs(routingResult.Legs), routingCost); }
public OptimizationParam OptimizationGetParam() { OptimizationParam optimizationParam = new OptimizationParam(); EmoEngine.errorHandler(EdkDll.EE_OptimizationGetParam(optimizationParam.GetHandle())); return optimizationParam; }
public void OptimizationEnable(OptimizationParam param) { if (param == null) { throw new NullReferenceException(); } EmoEngine.errorHandler(EdkDll.EE_OptimizationEnable(param.GetHandle())); }
public double ApplyCost(OptimizationParam optimizer) { return(optimizer.OptimizerValue * TimeCost + (OptimizationParam.MaxValue - optimizer.OptimizerValue) * MonetaryCost); }
/// <summary> /// Gets optimization parameter. If optimization is not enabled (this can be checked with EE_OptimmizationIsEnabled) then the results attached to the returned parameter are undefined. /// </summary> /// <returns></returns> public OptimizationParam OptimizationGetParam() { OptimizationParam param = new OptimizationParam(); errorHandler(EdkDll.EE_OptimizationGetParam(param.GetHandle())); return param; }
public Task <RoutingSegmentResult> GetCostForSegment(RoutingSegment segment, OptimizationParam optimizer) { var costFunction = _costFunctionFactory.GetCostFunctionByType(segment.SegmentNavigationMode); return(costFunction.GetCost(segment.SegmentStart, segment.SegmentEnd, optimizer)); }