Foam::blockDescriptor::blockDescriptor
(
    const cellShape& bshape,
    const pointField& blockPointField,
    const curvedEdgeList& edges,
    const Vector<label>& meshDensity,
    const UList<scalar>& expand,
    const word& zoneName
)
:
    blockPointField_(blockPointField),
    curvedEdges_(edges),
    blockShape_(bshape),
    meshDensity_(meshDensity),
    edgePoints_(12),
    edgeWeights_(12),
    expand_(expand),
    zoneName_(zoneName)
{
    if (expand_.size() != 12)
    {
        FatalErrorIn
        (
            "blockDescriptor::blockDescriptor"
            "(const cellShape&, const pointField& blockPointField, "
            "const curvedEdgeList&, const Vector<label>& meshDensity, "
            "const scalarList& expand, const word& zoneName)"
        )   << "Unknown definition of expansion ratios"
            << exit(FatalError);
    }

    // create a list of edges
    makeBlockEdges();
}
// from components
blockDescriptor::blockDescriptor
(
    const cellShape& bshape,
    const pointField& blockMeshPoints,
    const curvedEdgeList& edges,
    const Vector<label>& n,
    const scalarList& expand,
    const word& zoneName
)
    :
    blockMeshPoints_(blockMeshPoints),
    blockShape_(bshape),
    curvedEdges_(edges),
    edgePoints_(12),
    edgeWeights_(12),
    n_(n),
    expand_(expand),
    zoneName_(zoneName)
{
    if (expand_.size() != 12)
    {
        FatalErrorIn
        (
            "blockDescriptor::blockDescriptor"
            "(const cellShape& bshape, const pointField& blockMeshPoints, "
            "const curvedEdgeList& edges, label xnum, label ynum, label znum, "
            "const scalarList& expand, const word& zoneName)"
        )   << "Unknown definition of expansion ratios"
            << exit(FatalError);
    }

    makeBlockEdges();
}