Robotics Library  0.7.0
WorkspaceMetric.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009, Markus Rickert
3 // All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // * Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright notice,
11 // this list of conditions and the following disclaimer in the documentation
12 // and/or other materials provided with the distribution.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25 //
26 
27 #ifndef RL_PLAN_WORKSPACEMETRIC_H
28 #define RL_PLAN_WORKSPACEMETRIC_H
29 
30 #include <rl/math/Real.h>
31 #include <rl/math/Transform.h>
32 
33 namespace rl
34 {
35  namespace plan
36  {
38  {
39  public:
41 
42  typedef ::std::size_t Size;
43 
44  struct Value
45  {
46  Value();
47 
49 
51 
52  void* second;
53  };
54 
56 
57  virtual ~WorkspaceMetric();
58 
59  Distance operator()(const Value& lhs, const Value& rhs) const;
60 
61  protected:
62 
63  private:
65 
67  };
68  }
69 }
70 
71 #endif // RL_PLAN_WORKSPACEMETRIC_H
rl::plan::WorkspaceMetric::Value::first
const ::rl::math::Transform * first
Definition: WorkspaceMetric.h:50
rl::math::Transform
::Eigen::Transform< Real, 3, ::Eigen::Affine > Transform
Rigid transformation in 3D.
Definition: Transform.h:46
rl::plan::WorkspaceMetric::distanceWeight
::rl::math::Real * distanceWeight
Definition: WorkspaceMetric.h:66
rl::plan::WorkspaceMetric::Value::Value
Value()
Definition: WorkspaceMetric.cpp:57
rl::plan::WorkspaceMetric::~WorkspaceMetric
virtual ~WorkspaceMetric()
Definition: WorkspaceMetric.cpp:39
rl::plan::WorkspaceMetric::Distance
::rl::math::Real Distance
Definition: WorkspaceMetric.h:40
rl::plan::WorkspaceMetric::operator()
Distance operator()(const Value &lhs, const Value &rhs) const
Definition: WorkspaceMetric.cpp:44
rl::plan::WorkspaceMetric
Definition: WorkspaceMetric.h:38
rl::plan::WorkspaceMetric::alternativeDistanceComputation
bool * alternativeDistanceComputation
Definition: WorkspaceMetric.h:64
Real.h
rl::plan::WorkspaceMetric::Value::second
void * second
Definition: WorkspaceMetric.h:52
Transform.h
rl::plan::WorkspaceMetric::Size
::std::size_t Size
Definition: WorkspaceMetric.h:42
rl::math::Real
double Real
Definition: Real.h:42
rl::plan::WorkspaceMetric::Value
Definition: WorkspaceMetric.h:45
rl::plan::WorkspaceMetric::WorkspaceMetric
WorkspaceMetric(::rl::math::Real *distanceWeight, bool *alternativeDistanceComputation)
Definition: WorkspaceMetric.cpp:33
rl
Robotics Library.
Definition: AnalogInput.cpp:30