Files
wg_cpso/CPSO/Settings/AnnotationSettings.cs
2026-03-25 18:20:24 +08:00

146 lines
5.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using CaeGlobals;
using System.IO;
using DynamicTypeDescriptor;
using System.Runtime.InteropServices;
namespace CPSO
{
[Serializable]
public class AnnotationSettings : ISettings
{
// Variables
private AnnotationNumberFormat _numberFormat;
private int _numberOfSignificantDigits;
private AnnotationBackgroundType _backgroundType;
private bool _drawBorder;
//
private bool _showNodeId;
private bool _showCoordinates;
//
private bool _showEdgeSurId;
private bool _showEdgeSurType;
private bool _showEdgeSurTopology;
private bool _showEdgeSurSize;
private bool _showEdgeSurMax;
private bool _showEdgeSurMin;
private bool _showEdgeSurSum;
private bool _showEdgeSurAvg;
//
private bool _showPartName;
private bool _showPartId;
private bool _showPartType;
private bool _showPartNumberOfElements;
private bool _showPartNumberOfNodes;
private bool _showPartVolumeArea;
// Properties
public AnnotationNumberFormat NumberFormat { get { return _numberFormat; } set { _numberFormat = value; } }
public int NumberOfSignificantDigits
{
get { return _numberOfSignificantDigits; }
set
{
_numberOfSignificantDigits = value;
if (_numberOfSignificantDigits < 2) _numberOfSignificantDigits = 2;
if (_numberOfSignificantDigits > 8) _numberOfSignificantDigits = 8;
}
}
public AnnotationBackgroundType BackgroundType
{
get { return _backgroundType; }
set
{
if (value != _backgroundType)
{
_backgroundType = value;
if (_backgroundType == AnnotationBackgroundType.White) _drawBorder = true;
}
}
}
public bool DrawBorder { get { return _drawBorder; } set { _drawBorder = value; } }
//
public bool ShowNodeId { get { return _showNodeId; } set { _showNodeId = value; } }
public bool ShowCoordinates { get { return _showCoordinates; } set { _showCoordinates = value; } }
//
public bool ShowEdgeSurId { get { return _showEdgeSurId; } set { _showEdgeSurId = value; } }
public bool ShowEdgeSurType { get { return _showEdgeSurType; } set { _showEdgeSurType = value; } }
public bool ShowEdgeSurTopology { get { return _showEdgeSurTopology; } set { _showEdgeSurTopology = value; } }
public bool ShowEdgeSurSize { get { return _showEdgeSurSize; } set { _showEdgeSurSize = value; } }
public bool ShowEdgeSurMax { get { return _showEdgeSurMax; } set { _showEdgeSurMax = value; } }
public bool ShowEdgeSurMin { get { return _showEdgeSurMin; } set { _showEdgeSurMin = value; } }
public bool ShowEdgeSurSum { get { return _showEdgeSurSum; } set { _showEdgeSurSum = value; } }
public bool ShowEdgeSurAvg { get { return _showEdgeSurAvg; } set { _showEdgeSurAvg = value; } }
//
public bool ShowPartName { get { return _showPartName; } set { _showPartName = value; } }
public bool ShowPartId { get { return _showPartId; } set { _showPartId = value; } }
public bool ShowPartType { get { return _showPartType; } set { _showPartType = value; } }
public bool ShowPartNumberOfElements
{
get { return _showPartNumberOfElements; }
set { _showPartNumberOfElements = value; }
}
public bool ShowPartNumberOfNodes { get { return _showPartNumberOfNodes; } set { _showPartNumberOfNodes = value; } }
public bool ShowPartVolumeArea { get { return _showPartVolumeArea; } set { _showPartVolumeArea = value; } }
// Constructors
public AnnotationSettings()
{
Reset();
}
// Methods
public void CheckValues()
{
}
public void Reset()
{
_numberFormat = AnnotationNumberFormat.General;
_numberOfSignificantDigits = 4;
//
_backgroundType = AnnotationBackgroundType.White;
_drawBorder = true;
//
_showNodeId = true;
_showCoordinates = true;
//
_showEdgeSurId = true;
_showEdgeSurType = true;
_showEdgeSurTopology = true;
_showEdgeSurSize = true;
_showEdgeSurMax = true;
_showEdgeSurMin = true;
_showEdgeSurSum = true;
_showEdgeSurAvg = true;
//
_showPartName = true;
_showPartId = true;
_showPartType = true;
_showPartNumberOfElements = true;
_showPartNumberOfNodes = true;
_showPartVolumeArea = true;
}
public string GetNumberFormat()
{
string numberFormat;
if (_numberFormat == AnnotationNumberFormat.General)
{
numberFormat = "G" + _numberOfSignificantDigits.ToString();
}
else
{
numberFormat = "E" + (_numberOfSignificantDigits - 1).ToString();
}
return numberFormat;
}
}
}