This file is indexed.

/usr/include/visp/vpView.h is in libvisp-dev 2.9.0-3+b2.

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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/****************************************************************************
 *
 * $Id: vpView.h 4574 2014-01-09 08:48:51Z fspindle $
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2014 by INRIA. All rights reserved.
 * 
 * This software is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * ("GPL") version 2 as published by the Free Software Foundation.
 * See the file LICENSE.txt at the root directory of this source
 * distribution for additional information about the GNU GPL.
 *
 * For using ViSP with software that can not be combined with the GNU
 * GPL, please contact INRIA about acquiring a ViSP Professional 
 * Edition License.
 *
 * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
 * 
 * This software was developed at:
 * INRIA Rennes - Bretagne Atlantique
 * Campus Universitaire de Beaulieu
 * 35042 Rennes Cedex
 * France
 * http://www.irisa.fr/lagadic
 *
 * If you have questions regarding the use of this file, please contact
 * INRIA at visp@inria.fr
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *
 * Description:
 * Le module "view.h" contient les Macros et les types
 * des parametres de visualisation et de transformation 3D.
 *
 * Authors:
 * Jean-Luc CORRE
 *
 *****************************************************************************/

#ifndef vpView_H
#define vpView_H

#include <visp/vpConfig.h>

#ifndef DOXYGEN_SHOULD_SKIP_THIS

/*
 * Macros de numerotation des 6 plans de decoupage :
 * - Les 6 plans de clipping definissent le volume canonique 
 *   de la pyramide de vision dans lequel la scene est visible.
 * - les 6 plans ont pour equations :
 * Plan dessus	:  W = Y
 * Plan dessous	: -W = Y
 * Plan droit	:  W = X
 * Plan gauche	: -W = X
 * Plan arriere	:  W = Z
 * Plan avant	:  W = 0
 */
#define	PLANE_ABOVE	0
#define	PLANE_BELOW	1
#define	PLANE_RIGHT	2
#define	PLANE_LEFT	3
#define	PLANE_BACK	4
#define	PLANE_FRONT	5
#define	PLANE_NBR	6

/*
 * Macros de positionnement des points 4D :
 * Le positionnement d'un point 4D dans l'espace de l'observateur virtuel
 * se fait par rapport aux 6 plans de decoupage.
 * A chaque point 4D on associe 6 bits, un par plan de decoupage.
 */
#define	IS_INSIDE	0x00
#define	IS_ABOVE	0x01
#define	IS_BELOW	0x02
#define	IS_RIGHT	0x04
#define	IS_LEFT		0x08
#define	IS_BACK		0x10
#define	IS_FRONT	0x20

#define	vpDEFAULT_REMOVE	IS_INSIDE

#define	PARALLEL	0
#define	PERSPECTIVE	1

#define	vpDEFAULT_EYE	{ 0.0, 0.0, 1.0	}
#define	vpDEFAULT_TARGET	{ 0.0, 0.0, 0.0	}
#define	vpDEFAULT_FOCAL	1.0
#define	vpDEFAULT_ANGLE	45.0
#define	vpDEFAULT_TWIST	0.0
#define	vpDEFAULT_SPEED	0.0
#define	vpDEFAULT_CAMERA	{ vpDEFAULT_EYE,	vpDEFAULT_TARGET,\
			  vpDEFAULT_FOCAL,vpDEFAULT_ANGLE, vpDEFAULT_TWIST,\
			  vpDEFAULT_SPEED }

#define	vpDEFAULT_COP	{ 0.0, 0.0, 1.0	}
#define	vpDEFAULT_VRP	{ 0.0, 0.0, 0.0	}
#define	vpDEFAULT_VPN	{ 0.0, 0.0,-1.0	}
#define	vpDEFAULT_VUP	{ 0.0, 1.0, 0.0	}
#define	vpDEFAULT_VWD	{-1.0, 1.0,-1.0, 1.0 }
#define	vpDEFAULT_DEPTH	{ 0.0, 1.0	}
#define	vpDEFAULT_TYPE	PERSPECTIVE

#define	vpDEFAULT_VIEW	{ vpDEFAULT_TYPE,\
			  vpDEFAULT_COP, vpDEFAULT_VRP,\
			  vpDEFAULT_VPN, vpDEFAULT_VUP,\
			  vpDEFAULT_VWD, vpDEFAULT_DEPTH }

#define	vpDEFAULT_WC	{ 1.0, 0.0, 0.0, 0.0,\
			  0.0, 1.0, 0.0, 0.0,\
			  0.0, 0.0, 1.0, 0.0,\
			  0.0, 0.0, 0.0, 1.0 }


/*
 *			CAMERA PARAMETERS
 *			_________________
 *
 * La structure "Camera_parameters" definit les parametres de la camera.
 * eye		Position de l'oeil ou de la camera.
 * target	Position de la cible ou du point visee dans la scene.
 * focal	Distance eye-target
 * angle	Angle d'ouverture en degres.
 * twist	Angle de rotation sur l'axe de visee (eye,target) en degres.
 * speed	Vitesse sur l'axe de visee (eye,target).
 */
typedef	struct	{
	Point3f	eye;		/* position de l'observateur	*/
	Point3f	target;		/* point vise			*/
	float	focal;		/* focale de la camera		*/
	float	angle;		/* angle d'ouverture		*/
	float	twist;		/* rotation sur l'axe de visee	*/
	float	speed;		/* vitesse  sur l'axe de visee	*/
} Camera_parameters;

typedef	struct	{
	float	umin,umax;	/* bords gauche et droit	*/
	float	vmin,vmax;	/* bords inferieur et superieur */
} View_window;

typedef	struct	{
	float	front;		/* plan avant ("hither")	*/
	float	back;		/* plan arriere ("yon")		*/
} View_depth;

typedef	struct	{
	Type		type;	/* type de la  projection	*/
	Point3f		cop;	/* centre de projection		*/
	Point3f		vrp;	/* point de reference de visee	*/
	Vector		vpn;	/* vecteur nomal au plan	*/
	Vector		vup;	/* vecteur indiquant le "haut"	*/
	View_window	vwd;	/* fenetre de projection	*/
	View_depth 	depth;	/* profondeurs de decoupages	*/
} View_parameters;

#endif
#endif