|
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
[Flags]
|
|
|
|
|
|
public enum StructureType
|
|
|
|
|
|
{
|
|
|
|
|
|
High = 1 << 0,
|
|
|
|
|
|
Low = 1 << 1,
|
|
|
|
|
|
FaultHigh = 1 << 2,
|
|
|
|
|
|
FaultLow = 1 << 3,
|
|
|
|
|
|
NoseHigh = 1 << 4,
|
|
|
|
|
|
NoseLow = 1 << 5,
|
|
|
|
|
|
|
|
|
|
|
|
StructrueAll = High | Low | FaultHigh | FaultLow | NoseHigh | NoseLow,
|
|
|
|
|
|
StructrueNone = 0,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 0)]
|
|
|
|
|
|
public struct StructureCalculateParameter
|
|
|
|
|
|
{
|
|
|
|
|
|
// 最小面积
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dMinimumArea;
|
|
|
|
|
|
// Limit Number
|
|
|
|
|
|
[MarshalAs(UnmanagedType.I4)]
|
|
|
|
|
|
public System.Int32 m_nLimitNum;
|
|
|
|
|
|
// Fault Filter
|
|
|
|
|
|
[MarshalAs(UnmanagedType.U1)]
|
|
|
|
|
|
public bool m_bFaultFilter;
|
|
|
|
|
|
// 断层闭合距离
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dFaultCloseDis;
|
|
|
|
|
|
// 最大闭合距离
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dCloseDistance;
|
|
|
|
|
|
// 断层延伸长度
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dExtendDis;
|
|
|
|
|
|
// Offset Distance
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dOffsetDis;
|
|
|
|
|
|
// 最小角度
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dMiniAngle;
|
|
|
|
|
|
// Redundant
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dRedundant;
|
|
|
|
|
|
// Radius
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dRadius;
|
|
|
|
|
|
|
|
|
|
|
|
[MarshalAs(UnmanagedType.U1)]
|
|
|
|
|
|
public bool m_bSmooth; // 光滑半径
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dZoomin; // 放大系数
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_dUnitSacle; // 鼻状隆起和沟槽重合比
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_minDepth; // 最小幅度
|
|
|
|
|
|
[MarshalAs(UnmanagedType.R8)]
|
|
|
|
|
|
public double m_maxDepth; // 最大幅度
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// The shape types
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[MarshalAs(UnmanagedType.I4)]
|
|
|
|
|
|
public StructureType m_ShapeTypes;
|
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
|
|
|
|
|
public string CurveLayer;
|
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
|
|
|
|
|
public string FaultageLayer;
|
|
|
|
|
|
};
|