public SamplerRenderer(Sampler sampler, Camera camera, SurfaceIntegrator surfaceIntegrator, VolumeIntegrator volumeIntegrator) { _sampler = sampler; _camera = camera; _surfaceIntegrator = surfaceIntegrator; _volumeIntegrator = volumeIntegrator; }
public Sample(Sampler sampler, SurfaceIntegrator surfaceIntegrator, VolumeIntegrator volumeIntegrator, Scene scene) { Num1D = new List <int>(); Num2D = new List <int>(); if (surfaceIntegrator != null) { surfaceIntegrator.RequestSamples(sampler, this, scene); } if (volumeIntegrator != null) { volumeIntegrator.RequestSamples(sampler, this, scene); } AllocateSampleMemory(); }
/// <summary> /// Constructs an integrator. /// </summary> /// <param name="lsTrk"> /// The level set tracker tracking the level set to be integrated over /// </param> /// <param name="NoOfIntegrands"> /// The number of integrals to perform simultaneously /// </param> /// <param name="volumeFactory"> /// The quadrature rule factory for the volume integrals. Note that the /// integrand is discontinuous and that special quadrature rules should /// be used for this case. /// </param> /// <param name="boundaryFactory"> /// The quadrature rule factory for the surface integrals. Note that the /// integrand is discontinuous and that special quadrature rules should /// be used for this case. /// </param> /// <param name="quadOrder"> /// The desired quadrature rule (for surface and volume integrals) /// </param> /// <param name="LevSetIdx"> /// The id of the level set to be integrated over. /// </param> /// <param name="sgrd"> /// the subgrid which is used for the mapping the results /// (see <see cref="Execute"/>). /// </param> public LevelSetIntegrator( LevelSetTracker lsTrk, int NoOfIntegrands, ICompositeQuadRule <QuadRule> volumeFactory, ICompositeQuadRule <CellBoundaryQuadRule> boundaryFactory, int quadOrder, SubGrid sgrd, int LevSetIdx) { m_LevSetTrk = lsTrk; m_NoOfIntegrands = NoOfIntegrands; m_SubGrid = sgrd; m_LevSetIdx = LevSetIdx; m_SurfaceIntegrator = new SurfaceIntegrator(this, boundaryFactory); m_VoumeIntegrator = new VolumeIntegrator(this, volumeFactory); }