145 lines
5.6 KiB
C#
145 lines
5.6 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
using CaeMesh;
|
|||
|
|
using DynamicTypeDescriptor;
|
|||
|
|
using CaeGlobals;
|
|||
|
|
using System.Drawing;
|
|||
|
|
|
|||
|
|
namespace CPSO
|
|||
|
|
{
|
|||
|
|
[Serializable]
|
|||
|
|
public class SplitPartMeshData : IMasterSlaveMultiRegion
|
|||
|
|
{
|
|||
|
|
// Variables
|
|||
|
|
private double _offset;
|
|||
|
|
private double _maxH;
|
|||
|
|
private double _minH;
|
|||
|
|
private double _hausdorff;
|
|||
|
|
private bool _exact;
|
|||
|
|
//
|
|||
|
|
private RegionTypeEnum _basePartRegionType;
|
|||
|
|
private string _basePartRegionName;
|
|||
|
|
private RegionTypeEnum _splitterSurfaceRegionType;
|
|||
|
|
private string _splitterSurfaceRegionName;
|
|||
|
|
//
|
|||
|
|
private int[] _basePartCreationIds;
|
|||
|
|
private Selection _basePartCreationData;
|
|||
|
|
private int[] _splitterSurfaceCreationIds;
|
|||
|
|
private Selection _splitterSurfaceCreationData;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Properties
|
|||
|
|
public double Offset { get { return _offset; } set { _offset = value; } }
|
|||
|
|
public double MaxH
|
|||
|
|
{
|
|||
|
|
get { return _maxH; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (value < 0) throw new Exception("The value must be larger or equal to 0.");
|
|||
|
|
_maxH = value;
|
|||
|
|
if (value < _minH) _minH = _maxH;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public double MinH
|
|||
|
|
{
|
|||
|
|
get { return _minH; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (value < 0) throw new Exception("The value must be larger or equal to 0.");
|
|||
|
|
_minH = value;
|
|||
|
|
if (value > _maxH) _maxH = _minH;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public double Hausdorff
|
|||
|
|
{
|
|||
|
|
get { return _hausdorff; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (value <= 0) throw new Exception("The value must be larger than 0.");
|
|||
|
|
_hausdorff = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public bool Exact { get { return _exact; } set { _exact = value; } }
|
|||
|
|
//
|
|||
|
|
public RegionTypeEnum BasePartRegionType { get { return _basePartRegionType; } set { _basePartRegionType = value; } }
|
|||
|
|
public string BasePartRegionName { get { return _basePartRegionName; } set { _basePartRegionName = value; } }
|
|||
|
|
public RegionTypeEnum SplitterSurfaceRegionType
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceRegionType; }
|
|||
|
|
set { _splitterSurfaceRegionType = value; }
|
|||
|
|
}
|
|||
|
|
public string SplitterSurfaceRegionName
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceRegionName; }
|
|||
|
|
set { _splitterSurfaceRegionName = value; }
|
|||
|
|
}
|
|||
|
|
//
|
|||
|
|
public int[] BasePartCreationIds { get { return _basePartCreationIds; } set { _basePartCreationIds = value; } }
|
|||
|
|
public Selection BasePartCreationData { get { return _basePartCreationData; } set { _basePartCreationData = value; } }
|
|||
|
|
public int[] SplitterSurfaceCreationIds
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceCreationIds; }
|
|||
|
|
set { _splitterSurfaceCreationIds = value; }
|
|||
|
|
}
|
|||
|
|
public Selection SplitterSurfaceCreationData
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceCreationData; }
|
|||
|
|
set { _splitterSurfaceCreationData = value; }
|
|||
|
|
}
|
|||
|
|
// Compatibility properties
|
|||
|
|
public RegionTypeEnum MasterRegionType { get { return _basePartRegionType; } set { _basePartRegionType = value; } }
|
|||
|
|
public string MasterRegionName { get { return _basePartRegionName; } set { _basePartRegionName = value; } }
|
|||
|
|
public RegionTypeEnum SlaveRegionType
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceRegionType; }
|
|||
|
|
set { _splitterSurfaceRegionType = value; }
|
|||
|
|
}
|
|||
|
|
public string SlaveRegionName
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceRegionName; }
|
|||
|
|
set { _splitterSurfaceRegionName = value; }
|
|||
|
|
}
|
|||
|
|
//
|
|||
|
|
public int[] MasterCreationIds { get { return _basePartCreationIds; } set { _basePartCreationIds = value; } }
|
|||
|
|
public Selection MasterCreationData { get { return _basePartCreationData; } set { _basePartCreationData = value; } }
|
|||
|
|
public int[] SlaveCreationIds
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceCreationIds; }
|
|||
|
|
set { _splitterSurfaceCreationIds = value; }
|
|||
|
|
}
|
|||
|
|
public Selection SlaveCreationData
|
|||
|
|
{
|
|||
|
|
get { return _splitterSurfaceCreationData; }
|
|||
|
|
set { _splitterSurfaceCreationData = value; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Constructors
|
|||
|
|
public SplitPartMeshData(RegionTypeEnum basePartRegionType, string basePartRegionName,
|
|||
|
|
RegionTypeEnum splitterRegionType, string splitterRegionName)
|
|||
|
|
{
|
|||
|
|
_offset = 0;
|
|||
|
|
_maxH = 0;
|
|||
|
|
_minH = 0;
|
|||
|
|
_hausdorff = 0;
|
|||
|
|
_exact = false;
|
|||
|
|
//
|
|||
|
|
_basePartRegionType = basePartRegionType;
|
|||
|
|
_basePartRegionName = basePartRegionName;
|
|||
|
|
_splitterSurfaceRegionType = splitterRegionType;
|
|||
|
|
_splitterSurfaceRegionName = splitterRegionName;
|
|||
|
|
//
|
|||
|
|
_basePartCreationIds = null;
|
|||
|
|
_basePartCreationData = null;
|
|||
|
|
_splitterSurfaceCreationIds = null;
|
|||
|
|
_splitterSurfaceCreationData = null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// Methods
|
|||
|
|
}
|
|||
|
|
}
|