Index: doc/gtl_connectivity_extraction.htm =================================================================== --- doc/gtl_connectivity_extraction.htm (revision 55867) +++ doc/gtl_connectivity_extraction.htm (working copy) @@ -69,7 +69,7 @@ an edge exists in the graph. It is required that such vector pre-allocate sufficient elements to store the graph generated by the algorithm, because only the operator[] is used internally to access the graph The other -supported graph format is std::map<std::set<int> > which is slightly easier to +supported graph format is std::map<int, std::set<int> > which is slightly easier to work with, but potentially more expensive. Improving the interface to support more generic graph concepts is deferred to future work.
The following is the declaration of the connectivity extraction algorithm.
Index: doc/gtl_connectivity_extraction_45.htm =================================================================== --- doc/gtl_connectivity_extraction_45.htm (revision 55867) +++ doc/gtl_connectivity_extraction_45.htm (working copy) @@ -69,7 +69,7 @@ an edge exists in the graph. It is required that such vector pre-allocate sufficient elements to store the graph generated by the algorithm, because only the operator[] is used internally to access the graph The other -supported graph format is std::map<std::set<int> > which is slightly easier to +supported graph format is std::map<int, std::set<int> > which is slightly easier to work with, but potentially more expensive. Improving the interface to support more generic graph concepts is deferred to future work.
The following is the declaration of the connectivity extraction algorithm.
Index: doc/gtl_connectivity_extraction_90.htm =================================================================== --- doc/gtl_connectivity_extraction_90.htm (revision 55867) +++ doc/gtl_connectivity_extraction_90.htm (working copy) @@ -69,7 +69,7 @@ an edge exists in the graph. It is required that such vector pre-allocate sufficient elements to store the graph generated by the algorithm, because only the operator[] is used internally to access the graph The other -supported graph format is std::map<std::set<int> > which is slightly easier to +supported graph format is std::map<int, std::set<int> > which is slightly easier to work with, but potentially more expensive. Improving the interface to support more generic graph concepts is deferred to future work.
The following is the declaration of the connectivity extraction algorithm.
Index: doc/gtl_coordinate_concept.htm
===================================================================
--- doc/gtl_coordinate_concept.htm (revision 55867)
+++ doc/gtl_coordinate_concept.htm (working copy)
@@ -86,14 +86,14 @@
typedef long long coordinate_difference;
typedef long double coordinate_distance;
};
-By making use the the coordinate traits of int the library is able to avoid +By making use of the coordinate traits of int the library is able to avoid overflow and handle the normal issues encountered when programming integer geometry. For the out of the ordinary issues there is a special meta-function that provides the library with a numerical type suitable for exact numerical calculations. It defaults to the highest precision data type available in most compilers, long double, but can be overridden by specializing for a particular coordinate type. Use of gmp multi-precision rational or -similar data type is reccomended for numerically robust calculations in the +similar data type is recommended for numerically robust calculations in the general polygon algorithms.
template <typename T> Traits for
-mapping a data type to a concept a broken down into mutable and read only
+mapping a data type to a concept are broken down into mutable and read only
traits. Read only traits are specialized internally to work with any types
that are refinements of a concept. The mutable traits are defined only for
objects that exactly model the concept. Both read only traits and mutable
Index: doc/gtl_interval_concept.htm
===================================================================
--- doc/gtl_interval_concept.htm (revision 55867)
+++ doc/gtl_interval_concept.htm (working copy)
@@ -434,7 +434,7 @@
- The direction_3d data type has four possible states. These
+ The direction_3d data type has six possible states. These
are the cardinal directions of the 3D Cartesian coordinate system.
These states can be described by one of the direction_2d_enum values or the
direction_3d_enum values:
template <>
-The semantic of an point is that it has an x and y
+The semantic of a point is that it has an x and y
coordinate. A std::pair<int, int>, boost::tuple<int, int> or boost::array<int, 2>
could all be made models of point by simply providing indirect access to their
elements through traits, however, these objects cannot be made a model of both
@@ -243,7 +243,7 @@
The library provides a model of polygon 45 concept declared
-template<typename T> poolygon_45_data where T is the coordinate type. This data type is used internally when a 45-degree polygon is needed and is
available to the library user who finds it convenient to use a library polygon
data type instead of providing their own. The data type is implemented to
@@ -292,12 +292,12 @@
- The polygon 45 set concept tag is
+ The polygon_45_set concept tag is
polygon_45_set_concept
The semantic of a polygon_45_set is zero or more
@@ -76,7 +76,7 @@
45-degree angles and is Manhattan a runtime check will default to the Manhattan
algorithm. The results of which are identical to what the 45-degree
algorithm would do, but obtained more efficiently.
-The motivation for providing the polygon 45 set is
+The motivation for providing the polygon_45_set is
to extend the special case of Manhattan geometry capability of the library to
encompass the slightly less common, but still important special case of geometry
that is described by angles that are multiples of 45-degress with respect to the
@@ -304,20 +304,20 @@
- The polygon_45 concept tag is
+ The polygon_45_with_holes concept tag is
polygon_45_with_holes_concept
To register a user defined type as a model of
@@ -278,7 +278,7 @@
The library provides a model of polygon 45 with holes concept declared
-template<typename T> poolygon_45_with_holes_data where T is the
+template<typename T> polygon_45_with_holes_data This data type is used internally when a 45 degree polygon with holes is
needed and is available to the library user who finds it convenient to use a
@@ -309,12 +309,12 @@
The library provides a model of polygon 90 concept declared
-template<typename T> poolygon_90_data where T is the coordinate type. This data type is used internally when a Manhattan polygon is needed and is
available to the library user who finds it convenient to use a library polygon
data type instead of providing their own. The data type is implemented to
@@ -307,12 +307,12 @@
- The polygon 90 set concept tag is
+ The polygon_90_set concept tag is
polygon_90_set_concept
-The semantic of a polygon 90 set is zero or more
+The semantic of a polygon_90_set is zero or more
Manhattan geometry regions.
The motivation for providing the
polygon_90_set_concept is that it is a very common special case of planar
@@ -79,7 +79,7 @@
rectangle_concept are automatically models of polygon_90_set_concept. The return type of some operators is the polygon_90_set_view
-operator template type. This type is itself a model of the polygon 90 set
+operator template type. This type is itself a model of the polygon_90_set
concept, but furthermore can be used as an argument to the polygon_90_set_data
constructor and assignment operator. The operator template exists to
eliminate temp copies of intermediate results when Boolean operators are chained
@@ -279,20 +279,20 @@
- The polygon_90 concept tag is
+ The polygon_90_with_holes concept tag is
polygon_90_with_holes_concept
To register a user defined type as a model of
@@ -119,14 +119,14 @@
The library provides a model of polygon 90 with holes concept declared
-template<typename T> poolygon_90_with_holes_data where T is the
+template<typename T> polygon_90_with_holes_data where T is the
coordinate type. This data type is used internally when a Manhattan polygon with holes is
needed and is available to the library user who finds it convenient to use a
@@ -338,12 +338,12 @@
The library provides a model of polygon concept declared
-template<typename T> poolygon_data where T is the coordinate type. This data type is used internally when a polygon is needed and is available
to the library user who finds it convenient to use a library polygon data type
instead of providing their own. The data type is implemented to be
@@ -297,12 +297,12 @@
- The polygon set concept tag is
+ The polygon_set concept tag is
polygon_set_concept
The semantic of a polygon_set is zero or more
Index: doc/gtl_polygon_with_holes_concept.htm
===================================================================
--- doc/gtl_polygon_with_holes_concept.htm (revision 55867)
+++ doc/gtl_polygon_with_holes_concept.htm (working copy)
@@ -61,7 +61,7 @@
- The polygon concept tag is
+ The polygon_with_holes concept tag is
polygon_with_holes_concept
To register a user defined type as a model of
@@ -275,7 +275,7 @@
The library provides a model of polygon with holes concept declared
-template<typename T> poolygon_with_holes_data where T is the
+template<typename T> polygon_with_holes_data This data type is used internally when a polygon with holes is
needed and is available to the library user who finds it convenient to use a
@@ -306,12 +306,12 @@
struct high_precision_type {
Index: doc/gtl_design_overview.htm
===================================================================
--- doc/gtl_design_overview.htm (revision 55867)
+++ doc/gtl_design_overview.htm (working copy)
@@ -123,7 +123,7 @@
specializing the geometry_concept meta-function. Once mapped and
registered, a user data type can be used interchangeably with library data types
in the generic free functions that are overloaded on concept.
interval_data(const
- interval_data* that)
+ interval_data& that)
Copy construct
Index: doc/gtl_isotropy.htm
===================================================================
--- doc/gtl_isotropy.htm (revision 55867)
+++ doc/gtl_isotropy.htm (working copy)
@@ -180,7 +180,7 @@
unsigned int to_int() const
Convert to the integer enum value of current state to use as index.
- Auto-cast to int is disallows for type safety reasons.
+ Auto-cast to int is disallowed for type safety reasons.
@@ -243,7 +243,7 @@
unsigned int to_int() const
Convert to the integer enum value of current state to use as index.
- Auto-cast to int is disallows for type safety reasons
+ Auto-cast to int is disallowed for type safety reasons
@@ -303,7 +303,7 @@
unsigned int to_int() const
Convert to the integer enum value of current state to use as index.
- Auto-cast to int is disallows for type safety reasons.
+ Auto-cast to int is disallowed for type safety reasons.
@@ -408,7 +408,7 @@
unsigned int to_int() const
Convert to the integer enum value of current state to use as index.
- Auto-cast to int is disallows for type safety reasons
+ Auto-cast to int is disallowed for type safety reasons
@@ -420,7 +420,7 @@
direction_3d
unsigned int to_int() const
Convert to the integer enum value of current state to use as index.
- Auto-cast to int is disallows for type safety reasons.
+ Auto-cast to int is disallowed for type safety reasons.
Index: doc/gtl_point_concept.htm
===================================================================
--- doc/gtl_point_concept.htm (revision 55867)
+++ doc/gtl_point_concept.htm (working copy)
@@ -69,7 +69,7 @@
point concept.
struct geometry_concept<CPoint> { typedef point_concept type; };
template <typename T1, typename
T2>
- coordinate_distance manhattan_distance(const T1&,
+ coordinate_difference manhattan_distance(const T1&,
const T2&)Returns the distance in x plus the distance in y from an object that
@@ -252,7 +252,7 @@
template <typename T1, typename
T2>
- coordinate_distance distance_squared(const T1&,
+ coordinate_difference distance_squared(const T1&,
const T2&)Returns the square of the distance in x plus the square of the
Index: doc/gtl_polygon_45_concept.htm
===================================================================
--- doc/gtl_polygon_45_concept.htm (revision 55867)
+++ doc/gtl_polygon_45_concept.htm (working copy)
@@ -267,7 +267,7 @@
polygon_45_data(const
- poolygon_45_data* that)
+ polygon_45_data& that)
Copy construct
polygon_45_data& operator=(const
- poolygon_45_data& that)
+ polygon_45_data& that)
Assignment operator.
Index: doc/gtl_polygon_45_set_concept.htm
===================================================================
--- doc/gtl_polygon_45_set_concept.htm (revision 55867)
+++ doc/gtl_polygon_45_set_concept.htm (working copy)
@@ -61,7 +61,7 @@
Polygon 45 Set Concept
template <typename T1, typename
T2>
-
T1& interact(T1& a, const T2& b)Given an object that models polygon 45 set and an object that models
- polygon 45 set or one of its refinements, modifies a to retain only
+ Given an object that models polygon_45_set and an object that models
+ polygon_45_set or one of its refinements, modifies a to retain only
regions that overlap or touch regions in b.
template <typename T>
-
T& self_intersect(T& polygon_set)Given an object that models polygon 45 set that has self overlapping
+ Given an object that models polygon_45_set that has self overlapping
regions, modifies the argument to contain only the regions of overlap.
Index: doc/gtl_polygon_45_with_holes_concept.htm
===================================================================
--- doc/gtl_polygon_45_with_holes_concept.htm (revision 55867)
+++ doc/gtl_polygon_45_with_holes_concept.htm (working copy)
@@ -61,7 +61,7 @@
template <typename T>
-
T& self_xor(T& polygon_set)Given an object that models polygon 45 set that has self overlapping
+ Given an object that models polygon_45_set that has self overlapping
regions, modifies the argument to contain only the regions that do not
overlap.
Polygon 45 With Holes Concept
polygon_45_with_holes_data(const
- poolygon_45_with_holes_data* that)
+ polygon_45_with_holes_data& that)
Copy construct
-
poolygon_45_with_holes_data&
-
+
operator=(const poolygon_45_with_holes_data& that)polygon_45_with_holes_data&
+
operator=(const polygon_45_with_holes_data& that)Assignment operator.
Index: doc/gtl_polygon_90_concept.htm
===================================================================
--- doc/gtl_polygon_90_concept.htm (revision 55867)
+++ doc/gtl_polygon_90_concept.htm (working copy)
@@ -128,14 +128,14 @@
template <typename T>
+ compact_iterator_type begin_compact(const T& polygon)
- iterator_type begin_compact(const T& polygon)Expects a model of polygon_90.
Returns the begin iterator over the range of coordinates that correspond
to horizontal and vertical edges.
template <typename T>
+ compact_iterator_type end_compact(const T& polygon)
- iterator_type end_compact(const T& polygon)Expects a model of polygon_90.
Returns the end iterator over the range of coordinates that correspond
to horizontal and vertical edges.
@@ -275,7 +275,7 @@
polygon_90_data(const
- poolygon_90_data* that)
+ polygon_90_data& that)
Copy construct
polygon_90_data& operator=(const
- poolygon_90_data& that)
+ polygon_90_data& that)
Assignment operator.
Index: doc/gtl_polygon_90_set_concept.htm
===================================================================
--- doc/gtl_polygon_90_set_concept.htm (revision 55867)
+++ doc/gtl_polygon_90_set_concept.htm (working copy)
@@ -61,10 +61,10 @@
Polygon 90 Set Concept
Operators
template <typename T1, typename
T2>
-
T1& interact(T1& a, const T2& b)Given an object that models polygon 90 set and an object that models
- polygon 90 set or one of its refinements, modifies a to retain only
+ Given an object that models polygon_90_set and an object that models
+ polygon_90_set or one of its refinements, modifies a to retain only
regions that overlap or touch regions in b.
template <typename T>
-
T& self_intersect(T& polygon_set)Given an object that models polygon 90 set that has self overlapping
+ Given an object that models polygon_90_set that has self overlapping
regions, modifies the argument to contain only the regions of overlap.
Index: doc/gtl_polygon_90_with_holes_concept.htm
===================================================================
--- doc/gtl_polygon_90_with_holes_concept.htm (revision 55867)
+++ doc/gtl_polygon_90_with_holes_concept.htm (working copy)
@@ -61,7 +61,7 @@
template <typename T>
-
T& self_xor(T& polygon_set)Given an object that models polygon 90 set that has self overlapping
+ Given an object that models polygon_90_set that has self overlapping
regions, modifies the argument to contain only the regions that do not
overlap.
Polygon 90 With Holes Concept
template <typename T>
+ compact_iterator_type begin_compact(const T& polygon)
- iterator_type begin_compact(const T& polygon)Expects a model of polygon_90.
Returns the begin iterator over the range of coordinates that correspond
to horizontal and vertical edges.
template <typename T>
+ compact_iterator_type end_compact(const T& polygon)
- iterator_type end_compact(const T& polygon)Expects a model of polygon_90.
Returns the end iterator over the range of coordinates that correspond
to horizontal and vertical edges.
@@ -300,7 +300,7 @@
polygon_90_with_holes_data(const
- poolygon_90_with_holes_data* that)
+ polygon_90_with_holes_data& that)
Copy construct
-
poolygon_90_with_holes_data&
-
+
operator=(const poolygon_90_with_holes_data& that)polygon_90_with_holes_data&
+
operator=(const polygon_90_with_holes_data& that)Assignment operator.
Index: doc/gtl_polygon_concept.htm
===================================================================
--- doc/gtl_polygon_concept.htm (revision 55867)
+++ doc/gtl_polygon_concept.htm (working copy)
@@ -269,7 +269,7 @@
polygon_data(const
- poolygon_data* that)
+ polygon_data& that)
Copy construct
polygon_data& operator=(const
- poolygon_data& that)
+ polygon_data& that)
Assignment operator.
Index: doc/gtl_polygon_set_concept.htm
===================================================================
--- doc/gtl_polygon_set_concept.htm (revision 55867)
+++ doc/gtl_polygon_set_concept.htm (working copy)
@@ -61,7 +61,7 @@
Polygon Set Concept
Polygon With Holes Concept
polygon_with_holes_data(const
- poolygon_with_holes_data* that)
+ polygon_with_holes_data& that)
Copy construct
-
poolygon_with_holes_data&
-
+
operator=(const poolygon_with_holes_data& that)polygon_with_holes_data&
+
operator=(const polygon_with_holes_data& that)Assignment operator.
Index: doc/gtl_rectangle_concept.htm
===================================================================
--- doc/gtl_rectangle_concept.htm (revision 55867)
+++ doc/gtl_rectangle_concept.htm (working copy)
@@ -119,7 +119,7 @@
template <typename T>
+ interval_type get(const T& rectangle, orientation_2d)
- interval_type get(const T& rectangle, orientatin_2d)Expects a model of rectangle.
Returns the x interval or y interval of the rectangle, depending on the
orientation_2d value.
@@ -135,7 +135,7 @@
template <typename T>
- interval_type get(const T& rectangle, orientatin_2d,
+ interval_type get(const T& rectangle, orientation_2d,
direction_1d)Expects a model of rectangle.
Returns the coordinate specificed by the direction_1d value of the x interval or y interval of the rectangle, depending on the
@@ -551,7 +551,7 @@
bool consider_touch = true)
Sets rectangle a to the intersection of rectangle a and interval b
- along the orinetation_2d
+ along the orientation_2d
and returns true. If the does not intersect the interval, the
rectangle is unchanged and the function returns false. If the flag consider_touch is true
intervals that abut are considered to intersect.
@@ -684,7 +684,7 @@
rectangle_data(const
- rectangle_data* that)
+ rectangle_data& that)
Copy construct