This file is indexed.

/usr/share/gnudatalanguage/lib/map_clip_set.pro is in libgnudatalanguage0 0.9.7-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
;+
; NAME:
;       MAP_CLIP_SET
;
;
; PURPOSE:
;       Sets up the clipping/splitting pipeline for the projection
;
;
; CATEGORY:
;       Map utilities
;
;
; CALLING SEQUENCE:
;
;
; INPUTS:
;
;
; OUTPUTS:
;
;
; MODIFICATION HISTORY:
;   25-Jul-2006 : written by JMG
;   2014: modified by GD
;
; LICENCE:
; Copyright (C) 2006, Joel M. Gales
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
;-
pro map_clip_set,map_structure=map_structure,$
 reset=reset,split=split,clip_plane=clip_plane,$
 transform=transform,clip_uv=clip_uv, show=show
on_error, 2
giveback=0
if (n_elements(map_structure) eq 0) then begin
 map_structure=!map
 giveback=1
endif

if (keyword_set(reset)) then begin
    map_structure.pipeline=0.0
endif
if (keyword_set(transform)) then begin
    i = 0
    while (map_structure.pipeline[0,i] ne 0 and map_structure.pipeline[0,i] ne 3) do i = i + 1
    if (i eq 11) then begin
        message, 'Too many pipeline stages..'
    endif else begin
        map_structure.pipeline[0,i] = 3
    endelse
endif

if (n_elements(split) ne 0) then begin
    i = 0
    while (map_structure.pipeline[0,i] ne 0 and map_structure.pipeline[0,i] ne 3) do i = i + 1
    if (i eq 11) then begin
        message, 'Too many pipeline stages..'
    endif else begin
;        print,"split=",split
        map_structure.pipeline[0,i+1] = 3
        map_structure.pipeline[0,i] = 1
        map_structure.pipeline[1,i] = -1*split[2]
        map_structure.pipeline[2,i] = -1*split[3]
        map_structure.pipeline[3,i] = -1*split[4]
        map_structure.pipeline[4,i] = -1*split[5]
        lon=split[0]*!DTOR &  lat=split[1]*!DTOR
        x = cos(lon) * cos(lat) &  y = sin(lon) * cos(lat) &z = sin(lat)
        map_structure.pipeline[5,i] = x
        map_structure.pipeline[6,i] = y
        map_structure.pipeline[7,i] = z
    endelse
endif

if (n_elements(clip_plane) ne 0) then begin
    i = 0
    while (map_structure.pipeline[0,i] ne 0 and map_structure.pipeline[0,i] ne 3) do i = i + 1
    if (i eq 11) then begin
        message, 'Too many pipeline stages..'
    endif else begin
;        print,"clip_plane=",clip_plane
        map_structure.pipeline[0,i+1] = 3
        map_structure.pipeline[0,i] = 2
        f = sqrt(clip_plane[0]^2 + clip_plane[1]^2 + clip_plane[2]^2)
        if (f eq 0) then f = 1
        map_structure.pipeline[1,i] = clip_plane[0] / f
        map_structure.pipeline[2,i] = clip_plane[1] / f
        map_structure.pipeline[3,i] = clip_plane[2] / f
        map_structure.pipeline[4,i] = clip_plane[3] / f
    endelse
endif

if (n_elements(clip_uv) ne 0) then begin
    i = 0
    while (map_structure.pipeline[0,i] ne 3 and i lt 11) do i = i + 1
    if (i eq 11) then begin
        map_structure.pipeline[0,0] = 3
        map_structure.pipeline[0,1] = 4
        map_structure.pipeline[1,1] = clip_uv[0]
        map_structure.pipeline[2,1] = clip_uv[1]
        map_structure.pipeline[3,1] = clip_uv[2]
        map_structure.pipeline[4,1] = clip_uv[3]
    endif else begin
        map_structure.pipeline[0,i+1] = 4
        map_structure.pipeline[1,i+1] = clip_uv[0]
        map_structure.pipeline[2,i+1] = clip_uv[1]
        map_structure.pipeline[3,i+1] = clip_uv[2]
        map_structure.pipeline[4,i+1] = clip_uv[3]
    endelse
endif

if (keyword_set(show)) then begin
  i=0
  while(map_structure.pipeline[0,i] ne 0) do begin
     a=float(map_structure.pipeline[1,i])
     b=float(map_structure.pipeline[2,i])
     c=float(map_structure.pipeline[3,i])
     d=float(map_structure.pipeline[4,i])
     case fix(map_structure.pipeline[0,i]) of
      1: print,"PIPELINE_SPLIT",a,b,c,d
      2: print,"PIPELINE_PLANE",a,b,c,d
      3: print,"PIPELINE_TRANS",a,b,c,d
      4: print,"PIPELINE_UVBOX",a,b,c,d
    endcase
    i++
  endwhile
endif

if (giveback eq 1) then !map=map_structure

return
end