type_vtk_cell_set Subroutine

private subroutine type_vtk_cell_set(self, num_nodes_in_cell)

Type Bound

type_vtk_cell

Arguments

Type IntentOptional Attributes Name
class(type_vtk_cell), intent(inout) :: self

VTK cells data

integer(kind=int32), intent(in) :: num_nodes_in_cell

セルのノード数


Called by

proc~~type_vtk_cell_set~~CalledByGraph proc~type_vtk_cell_set type_vtk_cell%type_vtk_cell_set proc~type_vtk_vtk_initialize type_vtk%type_vtk_vtk_initialize proc~type_vtk_vtk_initialize->proc~type_vtk_cell_set proc~type_vtk_vtu_initialize type_vtk%type_vtk_vtu_initialize proc~type_vtk_vtu_initialize->proc~type_vtk_cell_set proc~inout_read_geometry inout_read_geometry proc~inout_read_geometry->proc~type_vtk_vtk_initialize proc~inout_read_geometry->proc~type_vtk_vtu_initialize interface~inout_read_geometry type_input%inout_read_geometry interface~inout_read_geometry->proc~inout_read_geometry proc~initialize_type_input type_input%initialize_type_input proc~initialize_type_input->interface~inout_read_geometry

Source Code

    subroutine type_vtk_cell_set(self, num_nodes_in_cell)
        implicit none
        class(type_vtk_cell), intent(inout) :: self !! VTK cells data
        integer(int32), intent(in) :: num_nodes_in_cell !! セルのノード数

        select case (self%cell_type)
        case (VTK_VERTEX)
            self%cell_type_name = "Vertex"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 0 ! 0次元要素
            self%cell_order = 1
        case (VTK_POLY_VERTEX)
            self%cell_type_name = "PolyVertex"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 0 ! 0次元要素の集合
            self%cell_order = 1
        case (VTK_LINE)
            self%cell_type_name = "Line"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = 1
        case (VTK_POLY_LINE)
            self%cell_type_name = "PolyLine"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = -1 ! 可変
        case (VTK_TRIANGLE)
            self%cell_type_name = "Triangle"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 1
        case (VTK_TRIANGLE_STRIP)
            self%cell_type_name = "TriangleStrip"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 1
        case (VTK_POLYGON)
            self%cell_type_name = "Polygon"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_PIXEL)
            self%cell_type_name = "Pixel"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 1
        case (VTK_QUAD)
            self%cell_type_name = "Quad"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 1
        case (VTK_TETRA)
            self%cell_type_name = "Tetra"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_VOXEL)
            self%cell_type_name = "Voxel"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_HEXAHEDRON)
            self%cell_type_name = "Hexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_WEDGE)
            self%cell_type_name = "Wedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_PYRAMID)
            self%cell_type_name = "Pyramid"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_PENTAGONAL_PRISM)
            self%cell_type_name = "PentagonalPrism"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_HEXAGONAL_PRISM)
            self%cell_type_name = "HexagonalPrism"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_QUADRATIC_EDGE)
            self%cell_type_name = "QuadraticEdge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = 2
        case (VTK_QUADRATIC_TRIANGLE)
            self%cell_type_name = "QuadraticTriangle"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 2
        case (VTK_QUADRATIC_QUAD)
            self%cell_type_name = "QuadraticQuad"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 2
        case (VTK_QUADRATIC_POLYGON)
            self%cell_type_name = "QuadraticPolygon"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 2
        case (VTK_QUADRATIC_TETRA)
            self%cell_type_name = "QuadraticTetra"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2
        case (VTK_QUADRATIC_HEXAHEDRON)
            self%cell_type_name = "QuadraticHexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2
        case (VTK_QUADRATIC_WEDGE)
            self%cell_type_name = "QuadraticWedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2
        case (VTK_QUADRATIC_PYRAMID)
            self%cell_type_name = "QuadraticPyramid"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2
        case (VTK_BIQUADRATIC_QUAD)
            self%cell_type_name = "BiquadraticQuad"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 2 ! 双二次
        case (VTK_TRIQUADRATIC_HEXAHEDRON)
            self%cell_type_name = "TriquadraticHexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2 ! 三次二次
        case (VTK_TRIQUADRATIC_PYRAMID)
            self%cell_type_name = "TriquadraticPyramid"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2 ! 三次二次
        case (VTK_QUADRATIC_LINEAR_QUAD)
            self%cell_type_name = "QuadraticLinearQuad"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 2 ! 線形と二次
        case (VTK_QUADRATIC_LINEAR_WEDGE)
            self%cell_type_name = "QuadraticLinearWedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2 ! 線形と二次
        case (VTK_BIQUADRATIC_QUADRATIC_WEDGE)
            self%cell_type_name = "BiquadraticQuadraticWedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2 ! 双二次と二次
        case (VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON)
            self%cell_type_name = "BiquadraticQuadraticHexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 2 ! 双二次と二次
        case (VTK_BIQUADRATIC_TRIANGLE)
            self%cell_type_name = "BiquadraticTriangle"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = 2 ! 双二次
        case (VTK_CUBIC_LINE)
            self%cell_type_name = "CubicLine"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = 3
        case (VTK_CONVEX_POINT_SET)
            self%cell_type_name = "ConvexPointSet"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = -1 ! 可変
            self%cell_order = -1 ! 可変
        case (VTK_POLYHEDRON)
            self%cell_type_name = "Polyhedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = 1
        case (VTK_PARAMETRIC_CURVE)
            self%cell_type_name = "ParametricCurve"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = -1 ! 可変
        case (VTK_PARAMETRIC_SURFACE)
            self%cell_type_name = "ParametricSurface"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_PARAMETRIC_TRI_SURFACE)
            self%cell_type_name = "ParametricTriSurface"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_PARAMETRIC_QUAD_SURFACE)
            self%cell_type_name = "ParametricQuadSurface"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_PARAMETRIC_TETRA_REGION)
            self%cell_type_name = "ParametricTetraRegion"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_PARAMETRIC_HEX_REGION)
            self%cell_type_name = "ParametricHexRegion"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_EDGE)
            self%cell_type_name = "HigherOrderEdge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_TRIANGLE)
            self%cell_type_name = "HigherOrderTriangle"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_QUAD)
            self%cell_type_name = "HigherOrderQuad"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_POLYGON)
            self%cell_type_name = "HigherOrderPolygon"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_TETRAHEDRON)
            self%cell_type_name = "HigherOrderTetrahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_WEDGE)
            self%cell_type_name = "HigherOrderWedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_PYRAMID)
            self%cell_type_name = "HigherOrderPyramid"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_HIGHER_ORDER_HEXAHEDRON)
            self%cell_type_name = "HigherOrderHexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_CURVE)
            self%cell_type_name = "LagrangeCurve"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_TRIANGLE)
            self%cell_type_name = "LagrangeTriangle"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_QUADRILATERAL)
            self%cell_type_name = "LagrangeQuadrilateral"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_TETRAHEDRON)
            self%cell_type_name = "LagrangeTetrahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_HEXAHEDRON)
            self%cell_type_name = "LagrangeHexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_WEDGE)
            self%cell_type_name = "LagrangeWedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_LAGRANGE_PYRAMID)
            self%cell_type_name = "LagrangePyramid"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_CURVE)
            self%cell_type_name = "BezierCurve"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 1
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_TRIANGLE)
            self%cell_type_name = "BezierTriangle"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_QUADRILATERAL)
            self%cell_type_name = "BezierQuadrilateral"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 2
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_TETRAHEDRON)
            self%cell_type_name = "BezierTetrahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_HEXAHEDRON)
            self%cell_type_name = "BezierHexahedron"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_WEDGE)
            self%cell_type_name = "BezierWedge"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case (VTK_BEZIER_PYRAMID)
            self%cell_type_name = "BezierPyramid"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 3
            self%cell_order = -1 ! 可変
        case default
            self%cell_type_name = "Unknown"
            self%num_nodes_in_cell = num_nodes_in_cell
            self%cell_dimension = 0
            self%cell_order = 0
        end select
    end subroutine type_vtk_cell_set