ceres_blocks.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 CERES_BLOCKS_H_
00020 #define CERES_BLOCKS_H_
00021 
00022 #include <ros/console.h>
00023 #include <industrial_extrinsic_cal/basic_types.h>
00024 #include <industrial_extrinsic_cal/camera_definition.h>
00025 #include "boost/make_shared.hpp"
00026 
00027 namespace industrial_extrinsic_cal
00028 {
00029 
00036 class CeresBlocks
00037 {
00038 public:
00040   CeresBlocks();
00042   ~CeresBlocks();
00043 
00045   void clearCamerasTargets();
00046 
00051   bool addStaticCamera(boost::shared_ptr<Camera> camera_to_add);
00052 
00057   bool addStaticTarget(boost::shared_ptr<Target> target_to_add);
00058 
00064   bool addMovingCamera(boost::shared_ptr<Camera> camera_to_add, int scene_id);
00065 
00071   bool addMovingTarget(boost::shared_ptr<Target> target_to_add, int scene_id);
00072 
00073 
00079   const boost::shared_ptr<Camera> getCameraByName(const std::string &camera_name);
00086   const boost::shared_ptr<Target>  getTargetByName(const std::string &target_name);
00087 
00088   P_BLOCK getStaticCameraParameterBlockIntrinsics(std::string camera_name);
00089 
00098   P_BLOCK getMovingCameraParameterBlockIntrinsics(std::string camera_name);
00099 
00104   P_BLOCK getStaticCameraParameterBlockExtrinsics(std::string camera_name);
00105 
00114   P_BLOCK getMovingCameraParameterBlockExtrinsics(std::string camera_name, int scene_id);
00115 
00120   P_BLOCK getStaticTargetPoseParameterBlock(std::string target_name);
00121 
00127   P_BLOCK getStaticTargetPointParameterBlock(std::string target_name, int point_id);
00128 
00138   P_BLOCK getMovingTargetPoseParameterBlock(std::string target_name, int scene_id);
00139 
00149   P_BLOCK getMovingTargetPointParameterBlock(std::string target_name, int pnt_id);
00150 
00151   //private:
00152   std::vector<boost::shared_ptr<Camera> > static_cameras_; 
00153   std::vector<boost::shared_ptr<MovingCamera> > moving_cameras_; 
00154   std::vector<boost::shared_ptr<Target> > static_targets_; 
00155   std::vector<boost::shared_ptr<MovingTarget> > moving_targets_; 
00156 };//end class
00157 
00158 }// end namespace industrial_extrinsic_cal
00159 
00160 #endif /* CERES_BLOCKS_H_ */


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