constraint_group.h
Go to the documentation of this file.
00001 /*
00002  * Software License Agreement (Apache License)
00003  *
00004  * Copyright (c) 2013, 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 
00020 #ifndef CONSTRAINT_GROUP_H
00021 #define CONSTRAINT_GROUP_H
00022 
00023 #include "constraint.h"
00024 #include <boost/ptr_container/ptr_vector.hpp>
00025 
00026 namespace constrained_ik
00027 {
00028 
00032 class ConstraintGroup : public Constraint
00033 {
00034 public:
00035   ConstraintGroup();
00036   virtual ~ConstraintGroup() {};
00037 
00038   virtual Eigen::MatrixXd calcJacobian();
00039   virtual Eigen::VectorXd calcError();
00040 
00041   virtual void init(const Constrained_IK* ik);
00042   virtual void reset();
00043   virtual void update(const SolverState &state);
00044   virtual bool checkStatus() const;
00045 
00046   virtual void add(Constraint* constraint);
00047   virtual void clear() { constraints_.clear(); }
00048   bool empty() const { return constraints_.empty(); }
00049 
00050 protected:
00051   boost::ptr_vector<Constraint> constraints_;
00052 
00053 }; // class ConstraintGroup
00054 
00055 } // namespace constrained_ik
00056 
00057 
00058 #endif // CONSTRAINT_GROUP_H
00059 


constrained_ik
Author(s): Chris Lewis , Jeremy Zoss , Dan Solomon
autogenerated on Mon Oct 6 2014 00:52:26