Ejemplo n.º 1
0
            public override void ExecuteSimple()
            {
                // TODO: Implement the workstep logic here.
                SeismicCube       cube = arguments.Cube;
                SeismicCollection sc   = cube.SeismicCollection;
                SeismicProject    proj = null;
                SeismicRoot       sroot;

                sroot = SeismicRoot.Get(PetrelProject.PrimaryProject);
                if (!sroot.HasSeismicProject)
                {
                    return;
                }
                proj = sroot.SeismicProject;
                using (ITransaction t = DataManager.NewTransaction()) {
                    t.Lock(proj);
                    InterpretationCollection             aaa            = proj.CreateInterpretationCollection("aaa");
                    HorizonInterpretation                h              = aaa.CreateHorizonInterpretation("surface", cube.Domain);
                    HorizonInterpretation3D              h3d            = h.CreateHorizonInterpretation3D(sc);
                    List <HorizonInterpretation3DSample> horizonsamples = new List <HorizonInterpretation3DSample>();
                    for (int i = 0; i < cube.NumSamplesIJK.I; i++)
                    {
                        for (int j = 0; j < cube.NumSamplesIJK.J; j++)
                        {
                            horizonsamples.Add(new HorizonInterpretation3DSample(i, j, -2000));
                        }
                    }
                    h3d.Samples = horizonsamples;
                    t.Commit();
                }
            }
Ejemplo n.º 2
0
 //
 // Loop across all FaultInterpretation within a InterpretationCollection,
 // then check for sub-collections
 private void loopIC(InterpretationCollection ic, SeismicCube cube, ITransaction tr)
 {
     foreach (FaultInterpretation fi in ic.FaultInterpretations)
     {
         calcFI(fi, cube, tr);
     }
     foreach (InterpretationCollection ics in ic.InterpretationCollections)
     {
         loopIC(ics, cube, tr);
     }
     return;
 }