⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsegyseismicaccessor.h

📁 segy 显示程序!希望能给正在做这部分朋友提供一部分资料
💻 H
字号:
/* 
 * GSEGYLIB - Library for accessing files in SEG-Y format
 *
 * Copyright (C) 2005-2006 Vladimir Bashkardin
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more av.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 *
 * Author:  Vladimir Bashkardin  <vovizmus@users.sourceforge.net>
 */

#ifndef __G_SEGY_SEISMIC_ACCESSOR_H__
#define __G_SEGY_SEISMIC_ACCESSOR_H__

#include <gsegyfile/gsegyfileaccessor.h>

G_BEGIN_DECLS

#define G_SEGY_TYPE_SEISMIC_ACCESSOR            (g_segy_seismic_accessor_get_type ())
#define G_SEGY_SEISMIC_ACCESSOR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_SEGY_TYPE_SEISMIC_ACCESSOR, GSEGYSeismicAccessor))
#define G_SEGY_SEISMIC_ACCESSOR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), G_SEGY_TYPE_SEISMIC_ACCESSOR, GSEGYSeismicAccessorClass))
#define G_SEGY_IS_SEISMIC_ACCESSOR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_SEGY_TYPE_SEISMIC_ACCESSOR))
#define G_SEGY_IS_SEISMIC_ACCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G_SEGY_TYPE_SEISMIC_ACCESSOR))
#define G_SEGY_GET_SEISMIC_ACCESSOR_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), G_SEGY_TYPE_SEISMIC_ACCESSOR, GSEGYSeismicAccessorClass))

typedef struct _GSEGYSeismicAccessor GSEGYSeismicAccessor;
typedef struct _GSEGYSeismicAccessorClass GSEGYSeismicAccessorClass;

struct _GSEGYSeismicAccessor {
    GObject parent;
};

struct _GSEGYSeismicAccessorClass {
    GObjectClass parent_class;
};

GType g_segy_seismic_accessor_get_type (void);

GSEGYSeismicAccessor* g_segy_seismic_accessor_new (GSEGYFileAccessor *file_accessor);

void g_segy_seismic_accessor_sort (GSEGYSeismicAccessor *self,
                                   gint16 first_sort_level_id, gint16 second_sort_level_id,
                                   gboolean first_level_ascending, gboolean second_level_ascending);

guint16 g_segy_seismic_accessor_get_sample_interval (GSEGYSeismicAccessor *self);
guint16 g_segy_seismic_accessor_get_number_of_samples (GSEGYSeismicAccessor *self);

gint16 g_segy_seismic_accessor_get_first_level_sort_id (GSEGYSeismicAccessor *self);
gint16 g_segy_seismic_accessor_get_second_level_sort_id (GSEGYSeismicAccessor *self);

GPtrArray* g_segy_seismic_accessor_get_trace_header_fields_desc (GSEGYSeismicAccessor *self);
GPtrArray* g_segy_seismic_accessor_get_trace_header_fields_names (GSEGYSeismicAccessor *self);

GPtrArray* g_segy_seismic_accessor_get_sorting_fields_names (GSEGYSeismicAccessor *self);
void g_segy_seismic_accessor_get_label_for_second_level (GSEGYSeismicAccessor *self, guint16 field_number,
                                                         guint32 first_level_index, guint32 second_level_index,
                                                         gchar *gbuffer, guint32 buffer_len);
void g_segy_seismic_accessor_get_labels_for_first_level (GSEGYSeismicAccessor *self,
                                                         GStringChunk **chunk, GPtrArray **labels);
void g_segy_seismic_accessor_get_labels_for_second_level (GSEGYSeismicAccessor *self,
                                                          guint32 first_level_index, gint16 second_level_id,
                                                          GStringChunk **chunk, GPtrArray **labels);

void g_segy_seismic_accessor_get_labels_for_trace_header (GSEGYSeismicAccessor *self,
                                                          guint32 first_level_index, guint32 second_level_index,
                                                          GStringChunk **chunk, GPtrArray **labels);

guint32 g_segy_seismic_accessor_get_number_of_traces_for_first_level (GSEGYSeismicAccessor *self);
guint32 g_segy_seismic_accessor_get_number_of_traces_for_second_level (GSEGYSeismicAccessor *self,
                                                                       guint32 first_level_index);

gfloat* g_segy_seismic_accessor_get_data (GSEGYSeismicAccessor *self, guint32 first_level_index,
                                          guint32 *slow_num, guint32 *fast_num, gboolean double_buffer,
                                          GSEGYFileError *file_error);

G_END_DECLS
#endif /* __G_SEGY_SEISMIC_ACCESSOR_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -