00001 /* ======== IGeoS ===== Distribition full ===== IGeoS ========= 00002 ** 00003 ** assbin.h : Created by 'AMSS-developer' on Wed Sep 30 19:29:02 2015 00004 ** 00005 ** Product : IGeoS - Integrated Geoscience Software 00006 ** 00007 ** Description : System for seismic, well log, and potential-field data analysis 00008 ** 00009 ** =================== Limited License: =================================== 00010 ** 00011 ** This software is provided free under the following terms and conditions: 00012 ** 00013 ** 1. Permission to use, copy, and modify this software 00014 ** for non-commercial purposes without fee is hereby granted, provided 00015 ** that this copyright notice, the warranty disclaimer, and this 00016 ** permission notice appear in all copies. 00017 ** 00018 ** 2. Distribution of this software or any part of it "bundled" in with 00019 ** any product is considered to be a 'commercial purpose'. 00020 ** 00021 ** 3. Any new or adapted code developed to operate as a part of this 00022 ** software shall be contributed to the authors and distributed under 00023 ** the same license. 00024 ** 00025 ** ================== Warranty Disclaimer: ================================ 00026 ** 00027 ** This software is provided "as is", with no support and without 00028 ** obligation on the part of the author to assist in its use, correction, 00029 ** modification, or enhancement. No guarantees or warranties, 00030 ** either express or implied, and regarding the accuracy, safety, or 00031 ** fitness for any particular purpose are provided by any contributor 00032 ** to this software package. 00033 ** 00034 ** ======== IGeoS ===== Distribition full ===== IGeoS ========= */ 00035 00036 #include "sia_module.C.h" 00037 00038 #define _BIN_NONE 0 00039 #define _BIN_LINE 1 /* operation modes */ 00040 #define _BIN_TABLE 2 00041 #define _BIN_1D 3 00042 #define _BIN_2D 4 00043 00044 00045 typedef struct 00046 { 00047 HEADER *x, *y; /* table entries */ 00048 double res_x, res_y; /* work field used in process phase */ 00049 } CORNER; 00050 00051 typedef struct B_T 00052 { 00053 USER_DBTAB *table; 00054 int num_corners; 00055 CORNER *corner; /* array of corners */ 00056 HEADER *bin_number, /* pointer to the bin number */ 00057 *rayhit; /* table entry to store ray hit */ 00058 00059 struct B_T *next; 00060 00061 } BIN_TABLE; 00062 00063 struct ASSBIN : public SIA_MODULE 00064 { 00065 ASSBIN() : SIA_MODULE() {} 00066 00067 HEADER_PARAM mid_x, mid_y; 00068 AHEADER bin; 00069 00070 int default_bin; 00071 00072 int bin_mode; 00073 00074 BIN_TABLE *bin_table; 00075 float bin_ref, bin_scale; 00076 00077 HEADER_PARAM _inline, crossline, 00078 max_crossline; 00079 00080 HEADER_PARAM x0, y0; 00081 HEADER_PARAM ninline, nxline, 00082 azim; 00083 00084 AHEADER bin_in, 00085 bin_x; 00086 00087 CHARSTR module_name( boolean active ); 00088 int edit(); 00089 boolean process(); 00090 00091 int bin_number ( TRACE *t ); 00093 }; 00094