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

📄 gsegyfileaccessor.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_FILE_ACCESSOR_H__
#define __G_SEGY_FILE_ACCESSOR_H__

#include <gsegyfile/gsegyerror.h>
#include <gsegyfile/gsegyformatwizard.h>

G_BEGIN_DECLS

#define G_SEGY_TYPE_FILE_ACCESSOR            (g_segy_file_accessor_get_type ())
#define G_SEGY_FILE_ACCESSOR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_SEGY_TYPE_FILE_ACCESSOR, GSEGYFileAccessor))
#define G_SEGY_FILE_ACCESSOR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), G_SEGY_TYPE_FILE_ACCESSOR, GSEGYFileAccessorClass))
#define G_SEGY_IS_FILE_ACCESSOR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_SEGY_TYPE_FILE_ACCESSOR))
#define G_SEGY_IS_FILE_ACCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G_SEGY_TYPE_FILE_ACCESSOR))
#define G_SEGY_GET_FILE_ACCESSOR_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), G_SEGY_TYPE_FILE_ACCESSOR, GSEGYFileAccessorClass))

typedef struct _GSEGYFileAccessor GSEGYFileAccessor;
typedef struct _GSEGYFileAccessorClass GSEGYFileAccessorClass;

struct _GSEGYFileAccessor {
    GObject parent;
};

struct _GSEGYFileAccessorClass {
    GObjectClass parent_class;

    guint scan_fraction_id;

    gboolean (*scan_fraction) (GSEGYFileAccessor *self, gfloat fraction, GSEGYFileError *file_error);
};

GType g_segy_file_accessor_get_type (void);

GSEGYFileAccessor* g_segy_file_accessor_new (GIOChannel *io_channel, GSEGYFormatWizard *format_wizard);

gboolean g_segy_file_accessor_scan_file (GSEGYFileAccessor *self, GSEGYFileError *file_error);

GSEGYFormatWizard* g_segy_file_accessor_get_format_wizard (GSEGYFileAccessor *self);
GArray* g_segy_file_accessor_get_sorting_contents (GSEGYFileAccessor *self);
guint16 g_segy_file_accessor_get_sorting_desc_size (GSEGYFileAccessor *self);

guint32 g_segy_file_accessor_get_number_of_traces (GSEGYFileAccessor *self);
guint16 g_segy_file_accessor_get_sample_interval (GSEGYFileAccessor *self);
guint16 g_segy_file_accessor_get_number_of_samples (GSEGYFileAccessor *self);

GCompareDataFunc g_segy_file_accessor_get_compare_func_for_sorting_id (GSEGYFileAccessor *self, gint16 id,
                                                                       gboolean ascending,
                                                                       guint16 *sorting_data_offset);

guint8* g_segy_file_accessor_get_ebcdic_header (GSEGYFileAccessor *self);
guint8* g_segy_file_accessor_get_binary_header (GSEGYFileAccessor *self);
guint8* g_segy_file_accessor_get_trace_header (GSEGYFileAccessor *self, guint32 trace_index,
                                               guint8 *buffer, guint32 buffer_len);

gfloat* g_segy_file_accessor_get_data (GSEGYFileAccessor *self, guint32 *traces_indices, guint32 traces_num,
                                       guint32 *slow_num, guint32 *fast_num, gboolean double_buffer,
                                       GSEGYFileError *file_error);


G_END_DECLS
#endif /* __G_SEGY_FILE_ACCESSOR_H__ */

⌨️ 快捷键说明

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