1 /* zzingrd.f -- translated by f2c (version 19980913).
2 You must link the resulting object file with the libraries:
3 -lf2c -lm (in that order)
4 */
5
6 #include "f2c.h"
7
8 /* $Procedure ZZINGRD ( is a voxel inside the grid? ) */
zzingrd_(integer * nvox,integer * voxel)9 logical zzingrd_(integer *nvox, integer *voxel)
10 {
11 /* System generated locals */
12 integer i__1, i__2, i__3;
13 logical ret_val;
14
15 /* Builtin functions */
16 integer s_rnge(char *, integer, char *, integer);
17
18 /* Local variables */
19 integer i__;
20
21 /* $ Abstract */
22
23 /* SPICE Private routine intended solely for the support of SPICE */
24 /* routines. Users should not call this routine directly due */
25 /* to the volatile nature of this routine. */
26
27 /* Return true if voxel is inside the voxel grid. This routine */
28 /* operates on integer voxel coordinates. */
29
30 /* $ Disclaimer */
31
32 /* THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE */
33 /* CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S. */
34 /* GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE */
35 /* ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE */
36 /* PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS" */
37 /* TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY */
38 /* WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A */
39 /* PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC */
40 /* SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE */
41 /* SOFTWARE AND RELATED MATERIALS, HOWEVER USED. */
42
43 /* IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA */
44 /* BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT */
45 /* LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND, */
46 /* INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS, */
47 /* REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE */
48 /* REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY. */
49
50 /* RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF */
51 /* THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY */
52 /* CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE */
53 /* ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE. */
54
55 /* $ Required_Reading */
56
57 /* None. */
58
59 /* $ Keywords */
60
61 /* VOXEL */
62
63 /* $ Declarations */
64 /* $ Brief_I/O */
65
66 /* VARIABLE I/O DESCRIPTION */
67 /* -------- --- -------------------------------------------------- */
68 /* NVOX I Dimensions of voxel grid. */
69 /* VOXEL I Coordinates of voxel in voxel grid units. */
70
71 /* The function returns .TRUE. if the voxel is inside the grid. */
72
73 /* $ Detailed_Input */
74
75 /* NVOX Dimensions of voxel grid. */
76
77 /* VOXEL Coordinates of voxel in voxel grid units. The */
78 /* coordinates are 1-based integers. */
79
80 /* $ Detailed_Output */
81
82 /* The function returns .TRUE. if the voxel is inside the grid. */
83
84 /* $ Parameters */
85
86 /* None. */
87
88 /* $ Exceptions */
89
90 /* Error free. */
91
92 /* $ Files */
93
94 /* None. */
95
96 /* $ Particulars */
97
98 /* This routine supports the SPICELIB routine XDDA. */
99
100 /* $ Examples */
101
102 /* None. */
103
104 /* $ Restrictions */
105
106 /* None. */
107
108 /* $ Literature_References */
109
110 /* None. */
111
112 /* $ Author_and_Institution */
113
114 /* N.J. Bachman (JPL) */
115 /* J.A. Bytof (JPL) */
116
117 /* $ Version */
118
119 /* - SPICELIB Version 1.0.0, 02-FEB-2016 (NJB) (JAB) */
120
121 /* Renamed routine. */
122
123 /* Based on DSKLIB Version 1.0.0, 03-FEB-1999 (JAB) */
124
125 /* -& */
126 /* $ Index_Entries */
127
128 /* voxel inside grid */
129
130 /* -& */
131 ret_val = FALSE_;
132
133 /* Determine if voxel is outside the voxel grid */
134 /* in any direction. */
135
136 for (i__ = 1; i__ <= 3; ++i__) {
137 if (voxel[(i__1 = i__ - 1) < 3 && 0 <= i__1 ? i__1 : s_rnge("voxel",
138 i__1, "zzingrd_", (ftnlen)135)] < 1 || voxel[(i__2 = i__ - 1)
139 < 3 && 0 <= i__2 ? i__2 : s_rnge("voxel", i__2, "zzingrd_", (
140 ftnlen)135)] > nvox[(i__3 = i__ - 1) < 3 && 0 <= i__3 ? i__3 :
141 s_rnge("nvox", i__3, "zzingrd_", (ftnlen)135)]) {
142 return ret_val;
143 }
144 }
145 ret_val = TRUE_;
146 return ret_val;
147 } /* zzingrd_ */
148
149