basic_types.h
Go to the documentation of this file.
00001 /*
00002  * Software License Agreement (Apache License)
00003  *
00004  * Copyright (c) 2014, Southwest Research Institute
00005  *
00006  * Licensed under the Apache License, Version 2.0 (the "License");
00007  * you may not use this file except in compliance with the License.
00008  * You may obtain a copy of the License at
00009  *
00010  *   http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef BASIC_TYPES_H_
00020 #define BASIC_TYPES_H_
00021 
00022 #include <vector>
00023 #include <boost/shared_ptr.hpp>
00024 #include <industrial_extrinsic_cal/basic_types.h>
00025 
00026 namespace industrial_extrinsic_cal
00027 {
00028 
00029 typedef double* P_BLOCK;
00030 
00032 typedef struct
00033 {
00034   int x_min;
00035   int x_max;
00036   int y_min;
00037   int y_max;
00038 } Roi;
00039 
00041 typedef struct
00042 {
00043   union
00044   {
00045     struct
00046     {
00047       double x; 
00048       double y; 
00049       double z; 
00050     };
00051     double pb[3]; 
00052   };
00053 } Point3d;
00054 
00059 typedef struct
00060 {
00061   union
00062   {
00063     struct
00064     {
00065       double x; 
00066       double y; 
00067       double z; 
00068       double ax; 
00069       double ay; 
00070       double az; 
00071     };
00072     struct
00073     {
00074       double pb_loc[3]; 
00075       double pb_aa[3]; 
00076     };
00077     struct
00078     {
00079       double pb_pose[6]; 
00080     };
00081   };
00082 }Pose6d;
00083   
00085 typedef struct
00086 {
00087   int pattern_rows;
00088   int pattern_cols;
00089 } CheckerBoardParameters;
00091 typedef struct
00092 {
00093   int pattern_rows;
00094   int pattern_cols;
00095   bool is_symmetric;
00096 } CircleGridParameters;
00098 typedef struct
00099 {
00100   //std::string marker_pattern;
00101   double marker_width;
00102 } ARTargetParameters;
00103 
00105 typedef struct
00106 {
00107   std::string target_name;
00108   int target_type;
00109   union
00110   {
00111     CheckerBoardParameters checker_board_parameters;
00112     CircleGridParameters circle_grid_parameters;
00113     ARTargetParameters ar_target_parameters;
00114   };
00115   bool is_moving; 
00116   Pose6d pose;
00117   unsigned int num_points; 
00118   std::vector<Point3d> pts; 
00119   bool fixed_pose; 
00120   bool fixed_points; 
00121 } Target;
00122 
00124 typedef struct
00125 {
00126   boost::shared_ptr<Target> target; 
00127   int point_id; 
00128   double image_loc_x; 
00129   double image_loc_y; 
00130 } Observation;
00131 
00133 typedef struct
00134 {
00135   std::vector<Observation> observations;
00136 } CameraObservations;
00137 
00140 typedef struct
00141 {
00142   union
00143   {
00144     struct
00145     {
00146       double angle_axis[3]; 
00147       double position[3]; 
00148       double focal_length_x; 
00149       double focal_length_y; 
00150       double center_x; 
00151       double center_y; 
00152       double distortion_k1; 
00153       double distortion_k2; 
00154       double distortion_k3; 
00155       double distortion_p1; 
00156       double distortion_p2; 
00157     };
00158     struct
00159     { 
00160       double pb_extrinsics[6]; 
00161       double pb_intrinsics[9]; 
00162     };
00163     struct
00164     {
00165       double pb_all[15]; 
00166     };
00167   };
00168 } CameraParameters;
00169 
00171 typedef struct
00172 { 
00173   int trigger_type;
00174   std::string trigger_popup_msg;
00175 } Trigger;
00176 
00178 typedef struct MovingTarget
00179 {
00180   boost::shared_ptr<Target> targ; // must hold a copy of the target pose parameters,
00181   int scene_id; // but point parameters may be unused duplicates
00182 } MovingTarget;
00183 
00184 }//end namespace industrial_extrinsiac_cal
00185 #endif


industrial_extrinsic_cal
Author(s): Chris Lewis
autogenerated on Wed Aug 26 2015 12:00:27