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(); } }
// // 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; }