OpenChain concept.  
 More...
#include <OpenChain.hpp>
OpenChain concept. 
- Formal definition:
 - The OpenChain concept is defined as following:
- there must be a specialization of traits::tag defining linestring_tag as type
 
- it must behave like a Boost.Range
 
- it must implement a std::back_insert_iterator
- either by implementing push_back
 
- or by specializing std::back_insert_iterator 
 
 
 
- Note
 - to fulfill the concepts, no traits class has to be specialized to define the joint type. 
 
- Example:
 - A custom linestring, defining the necessary specializations to fulfill to the concept. Suppose that the following linestring is defined:   It can then be adapted to the concept as following:   
 
- Note
 
- Open chain refers to a single linear series of states. The best example of this is an open kinematic chain, such as a robot arm consisting of a series of revolute and prismatic joints.
 
- There is also the registration macro BOOST_GEOMETRY_REGISTER_LINESTRING
 
- For registration of std::vector<P> (and deque, and list) it is enough to include the header-file geometries/adapted/std_as_linestring.hpp. That registers a vector as a linestring (so it cannot be registered as a linear ring then, in the same source code).
 
- See also
 - Based on Boost.Geometry Linestring concept http://www.boost.org/doc/libs/release/libs/geometry/doc/html/geometry/reference/concepts/concept_linestring.html 
 
Definition at line 57 of file OpenChain.hpp.
 
§ BOOST_CONCEPT_USAGE()
  
  
      
        
          | grl::concept::OpenChain::BOOST_CONCEPT_USAGE  | 
          ( | 
          Linestring  | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
The documentation for this class was generated from the following file: