/usr/include/geomview/winged_edge.h is in libgeomview-dev 1.9.4-3.
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 | /* Copyright (C) 1992-1998 The Geometry Center
* Copyright (C) 1998-2000 Stuart Levy, Tamara Munzner, Mark Phillips
*
* This file is part of Geomview.
*
* Geomview is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Geomview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Geomview; see the file COPYING. If not, write
* to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139,
* USA, or visit http://www.gnu.org.
*/
#ifndef _winged_edge_
#define _winged_edge_
#ifndef _proj_matrix_
#define _proj_matrix_
typedef double proj_matrix[4][4];
typedef double point[4];
#endif
typedef struct WEvertex {
double x[4]; /* coordinates (x[3] == 1) */
double dist; /* distance from slicing plane (used locally) */
int ideal; /* is this an ideal vertex (used locally) */
struct WEvertex *next;
} WEvertex;
typedef struct WEedge {
struct WEvertex *v0, /* tail */
*v1; /* tip */
struct WEedge *e0L, /* back left */
*e0R, /* back right */
*e1L, /* front left */
*e1R; /* front right */
struct WEface *fL, /* left face */
*fR; /* right face */
struct WEedge *next;
} WEedge;
typedef struct WEface {
int order;
int fill_tone;
struct WEedge *some_edge;
proj_matrix group_element;
struct WEface *inverse;
struct WEface *next; /* general use */
struct WEface *prv; /* used for clean and dirty lists */
struct WEface *nxt;
} WEface;
typedef struct {
int num_vertices,
num_edges,
num_faces;
WEvertex *vertex_list;
WEedge *edge_list;
WEface *face_list;
WEface dirty0, /* dummy faces to serve as start and */
dirty1, /* finish of doubly linked lists */
clean0,
clean1,
pending0,
pending1;
} WEpolyhedron;
#endif
|