public GenericCellGrower(IPlant plant, SimulationEnvironment environment, ICellBodySystemSolver systemSolver, IPlantSimulatorOptionsService optionsService) { this.plant = plant; this.environment = environment; this.systemSolver = systemSolver; this.optionsService = optionsService; }
public void Setup() { environment = new SimulationEnvironment { LightPosition = new Vertex(0, 10000, 0), Temperature = 22 }; plant = TestPlant.CreatePlant(); cellFactory = new GenericCellFactory(); optionsService = PlantSimulatorOptionsHelper.CreateOptionsService(); divider = new GenericCellDivider(cellFactory); helper = new GeometryHelper(); cellSizer = new GenericCellSizer(helper, new LoggerAdapter <GenericCellSizer>(new NullLogger <GenericCellSizer>())); cellCollisionDetection = new CellCollisionDetection(helper); bodySystemSolver = new GenericCellBodySystemSolver(cellCollisionDetection, cellSizer); cellGrower = new GenericCellGrower(plant, environment, bodySystemSolver, optionsService); descriptorService = new PlantDescriptorService(); cellCreator = new HexagonCellCreator(cellFactory); gridCreator = new HexagonalCellGridFactory(cellCreator, CornCellTypeLocator.GetCornCellTypeLocator(), optionsService); plantPartCellCreator = new PlantPartCellCreator(gridCreator); internodePartFactory = new GenericInternodePartFactory(optionsService, gridCreator); stemPartFactory = new GenericStemPartFactory(optionsService, internodePartFactory); petiolePartFactory = new GenericPetiolePartFactory(cellFactory, optionsService); nodePartFactory = new GenericNodePartFactory(optionsService, cellFactory, stemPartFactory, petiolePartFactory); internodePlantPartDevelopment = new InternodePartDevelopment(optionsService, nodePartFactory, cellGrower, descriptorService, internodePartFactory); rootFactory = new GenericRootPartFactory(optionsService, plantPartCellCreator); rootPlantPartDevelopment = new RootPartDevelopment(optionsService, nodePartFactory, rootFactory, cellGrower, descriptorService); developer = new PlantPartDeveloper(internodePlantPartDevelopment, rootPlantPartDevelopment); sucroseCarrierCollection = new SucroseCarrierCollection( new LoggerAdapter <SucroseCarrierCollection>(new NullLogger <SucroseCarrierCollection>())); sucroseTransporter = new SucroseTransporter(cellCollisionDetection, helper, sucroseCarrierCollection, new LoggerAdapter <FluidTransporter <Sucrose> >(new NullLogger <FluidTransporter <Sucrose> >())); plantGrower = new GenericPlantGrower(bodySystemSolver, developer, sucroseTransporter); runner = new GenericPlantRunner(plant, environment, plantGrower, new FluidsPlantCycle(plant, optionsService, sucroseCarrierCollection, new LoggerAdapter <FluidsPlantCycle>(new NullLogger <FluidsPlantCycle>()))); RangeExtensions.Random = new Random(optionsService.Options.Simulation.RandomSeed); }
public FluidsPlantCycle(IPlant plant, IPlantSimulatorOptionsService optionsService, ICarrierCollection <Sucrose> sucroseCarrierCollection, ILoggerAdapter <FluidsPlantCycle> logger) { this.plant = plant; this.optionsService = optionsService; this.sucroseCarrierCollection = sucroseCarrierCollection; this.logger = logger; random = new Random(optionsService.Options.Simulation.RandomSeed); }
public SimulationRuntimeBroker(ILoggerAdapter <SimulationRuntimeBroker> logger, ISimulatorEventHandler eventHandler, IPlantSimulatorOptionsService optionsService, IServiceProvider provider) { this.logger = logger; this.eventHandler = eventHandler; this.optionsService = optionsService; this.provider = provider; }
public GenericNodePartFactory(IPlantSimulatorOptionsService optionsService, ICellFactory cellFactory, IStemPartFactory stemFactory, IPetiolePartFactory petioleFactory) { this.optionsService = optionsService; this.cellFactory = cellFactory; this.stemFactory = stemFactory; this.petioleFactory = petioleFactory; random = new Random(Options.Simulation.RandomSeed); }
public InternodePartDevelopment(IPlantSimulatorOptionsService optionsService, INodePartFactory nodePartFactory, ICellGrower cellGrower, IPlantDescriptorService plantDescriptorService, IInternodePartFactory internodeFactory) { this.optionsService = optionsService; this.nodePartFactory = nodePartFactory; this.cellGrower = cellGrower; this.plantDescriptorService = plantDescriptorService; this.internodeFactory = internodeFactory; }
public RootPartDevelopment(IPlantSimulatorOptionsService optionsService, INodePartFactory nodePartFactory, IRootPartFactory rootFactory, ICellGrower cellGrower, IPlantDescriptorService plantDescriptorService) { this.optionsService = optionsService; this.nodePartFactory = nodePartFactory; this.rootFactory = rootFactory; this.cellGrower = cellGrower; this.plantDescriptorService = plantDescriptorService; random = new Random(optionsService.Options.Simulation.RandomSeed); }
public GenericInterNodeCycle(IPlantPartCellCreator cellCreator, IPlantSimulatorOptionsService optionsService) { this.cellCreator = cellCreator; this.optionsService = optionsService; }
public GenericInternodePartFactory(IPlantSimulatorOptionsService optionsService, ICellGridFactory cellGridFactory) { this.optionsService = optionsService; this.cellGridFactory = cellGridFactory; }
public GenericRootPartFactory(IPlantSimulatorOptionsService optionsService, IPlantPartCellCreator cellCreator) { this.optionsService = optionsService; this.cellCreator = cellCreator; }
public HexagonalCellGridFactory(ISingularCellCreator cellCreator, ICellTypeLocator cellTypeLocator, IPlantSimulatorOptionsService optionsService) { this.cellCreator = cellCreator; this.cellTypeLocator = cellTypeLocator; this.optionsService = optionsService; }
public PlantSimulator(ILoggerAdapter <PlantSimulator> logger, IPlantSimulatorOptionsService optionsService, IPlantRunner plantRunner) { this.logger = logger; this.optionsService = optionsService; this.plantRunner = plantRunner; }
public FluidsGenericCellGrower(IPlant plant, SimulationEnvironment environment, ICellBodySystemSolver systemSolver, IPlantSimulatorOptionsService optionsService) : base(plant, environment, systemSolver, optionsService) { }
public GenericPetiolePartFactory(ICellFactory cellCreator, IPlantSimulatorOptionsService optionsService) { this.cellCreator = cellCreator; this.optionsService = optionsService; }
public GenericStemPartFactory(IPlantSimulatorOptionsService optionsService, IInternodePartFactory internodePartFactory) { this.optionsService = optionsService; this.internodePartFactory = internodePartFactory; }