/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
|