LineChunk Derived Type

type, private :: LineChunk

A buffer holding points first .. first+capacity-1 of the chain.


Inherits

type~~linechunk~~InheritsGraph type~linechunk LineChunk c_ptr c_ptr type~linechunk->c_ptr line type~lodlevel LodLevel type~linechunk->type~lodlevel lod

Inherited by

type~~linechunk~~InheritedByGraph type~linechunk LineChunk type~linechain LineChain type~linechain->type~linechunk chunks type~chainartist ChainArtist type~chainartist->type~linechain chain type~customlinesegments CustomLineSegments type~customlinesegments->type~linechain chain type~markerartist MarkerArtist type~markerartist->type~linechain start_node, end_node, inter type~segmentartist SegmentArtist type~segmentartist->type~linechain chain type~curveartist CurveArtist type~curveartist->type~chainartist type~ribbonartist RibbonArtist type~ribbonartist->type~chainartist

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: box_hi(3) = 0.0_wp

bounding box of the points written: upper corner

real(kind=wp), public :: box_lo(3) = 0.0_wp

bounding box of the points written: lower corner

integer, public :: capacity = 0

number of points it holds

integer, public :: first = 1

the chain index of its first point

type(c_ptr), public :: line = c_null_ptr

the line, marker or ribbon node

type(LodLevel), public :: lod(lod_levels)

error bounds at strides 2, 4, ... 2^lod_levels

integer, public :: n_written = 0

points written (the bounds are for them)


Source Code

    type :: LineChunk
        type(c_ptr) :: line = c_null_ptr                !! the line, marker or ribbon node
        integer :: first = 1                            !! the chain index of its first point
        integer :: capacity = 0                         !! number of points it holds
        ! level of detail (strips)
        type(LodLevel) :: lod(lod_levels)               !! error bounds at strides 2, 4, ... 2^lod_levels
        real(wp) :: box_lo(3) = 0.0_wp                  !! bounding box of the points written: lower corner
        real(wp) :: box_hi(3) = 0.0_wp                  !! bounding box of the points written: upper corner
        integer :: n_written = 0                        !! points written (the bounds are for them)
    end type LineChunk