Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(xml_writer_abstract), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | location | |||
character(len=*), | intent(in) | :: | action |
function write_dataarray_location_tag(self, location, action) result(error) !< Write `<[/]PointData>` or `<[/]CellData>` open/close tag. !< !< @note **must** be called before saving the data related to geometric mesh, this function initializes the !< saving of data variables indicating the *location* (node or cell centered) of variables that will be saved. !< !< @note A single file can contain both cell and node centered variables. In this case the VTK_DAT_XML function must be !< called two times, before saving cell-centered variables and before saving node-centered variables. !< !<### Examples of usage !< !<#### Opening node piece !<```fortran !< error = vtk%write_dataarray('node','OPeN') !<``` !< !<#### Closing node piece !<```fortran !< error = vtk%write_dataarray('node','Close') !<``` !< !<#### Opening cell piece !<```fortran !< error = vtk%write_dataarray('cell','OPEN') !<``` !< !<#### Closing cell piece !<```fortran !< error = vtk%write_dataarray('cell','close') !<``` class(xml_writer_abstract), intent(inout) :: self !< Writer. character(*), intent(in) :: location !< Location of variables: **cell** or **node** centered. character(*), intent(in) :: action !< Action: **open** or **close** tag. integer(I4P) :: error !< Error status. type(string) :: location_ !< Location string. type(string) :: action_ !< Action string. location_ = trim(adjustl(location)) ; location_ = location_%upper() action_ = trim(adjustl(action)) ; action_ = action_%upper() select case(location_%chars()) case('CELL') location_ = 'CellData' case('NODE') location_ = 'PointData' endselect select case(self%topology%chars()) case('PRectilinearGrid', 'PStructuredGrid', 'PUnstructuredGrid') location_ = 'P'//location_ endselect select case(action_%chars()) case('OPEN') call self%write_start_tag(name=location_%chars()) case('CLOSE') call self%write_end_tag(name=location_%chars()) endselect error = self%error endfunction write_dataarray_location_tag