Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
using System;
using MikroPic.EdaTools.v1.Core.Model.Common;
namespace MikroPic.EdaTools.v1.Core.Model.Board {
/// <summary>
/// Funcio de la capa.
/// </summary>
///
public enum LayerFunction {
Unknown, // Desconeguda
Signal, // Pistes, vias, pads, th, etc
Design, // Mascara, adhesiu, pasta
Document, // Names, Values, Dimensions, etc
Mechanical, // Forats, fressat, etc
Outline // Perfil extern
}
/// <summary>
/// Clase que representa una capa de la placa.
/// </summary>
///
public sealed class EdaLayer: IEdaVisitable<IEdaBoardVisitor> {
private readonly EdaLayerId _id;
private readonly BoardSide _side;
private readonly LayerFunction _function = LayerFunction.Unknown;
/// <summary>
/// Constructor.
/// </summary>
/// <param name="id">Identificador de la capa.</param>
/// <param name="side">Cara de la placa.</param>
/// <param name="function">Functio de la capa.</param>
///
public EdaLayer(EdaLayerId id, BoardSide side, LayerFunction function) {
_id = id;
_side = side;
_function = function;
}
/// <summary>
/// Obte un clon de l'objecte.
/// </summary>
/// <returns>El clon obtingut.</returns>
///
public EdaLayer Clone() {
return new EdaLayer(_id, _side, _function);
}
/// <inheritdoc/>
///
public void AcceptVisitor(IEdaBoardVisitor visitor) {
visitor.Visit(this);
}
/// <inheritdoc/>
///
public override string ToString() =>
String.Format("Layer: {0}", _id);
/// <summary>
/// Obte el identificador.
/// </summary>
///
public EdaLayerId Id =>
_id;
/// <summary>
/// Obte el nom.
/// </summary>
///
public string Name =>
_id.ToString();
/// <summary>
/// Obte la cara
/// </summary>
///
public BoardSide Side =>
_side;
/// <summary>
/// Obte la funcio.
/// </summary>
///
public LayerFunction Function =>
_function;
/// <summary>
/// Indica si la capa esta en la cara superior.
/// </summary>
///
public bool IsTop =>
_side == BoardSide.Top;
/// <summary>
/// Indica si es la capa de coure superior.
/// </summary>
///
public bool IsTopCopper =>
(_side == BoardSide.Top) && (_function == LayerFunction.Signal);
/// <summary>
/// Indica si la capa esta en la cara inferior.
/// </summary>
///
public bool IsBottom =>
_side == BoardSide.Bottom;
/// <summary>
/// Indica si es la capa de coure inferior.
/// </summary>
///
public bool IsBottomCopper =>
(_side == BoardSide.Bottom) && (_function == LayerFunction.Signal);
/// <summary>
/// Indica si es una capa interna.
/// </summary>
///
public bool IsInner =>
_side == BoardSide.Inner;
}
}
1de7a351fThis file is pinned to the selected release. Download the original to open it in your design tool.