return LW_TRUE;
}
-/*!
-** \brief returns the kind of #CG_SEGMENT_INTERSECTION_TYPE behavior of lineseg 1 (constructed from p1 and p2) and lineseg 2 (constructed from q1 and q2)
-** \param p1 start point of first straight linesegment
-** \param p2 end point of first straight linesegment
-** \param q1 start point of second line segment
-** \param q2 end point of second line segment
-** \return a #CG_SEGMENT_INTERSECTION_TYPE
+/**
+** @brief returns the kind of #CG_SEGMENT_INTERSECTION_TYPE behavior of lineseg 1 (constructed from p1 and p2) and lineseg 2 (constructed from q1 and q2)
+** @param p1 start point of first straight linesegment
+** @param p2 end point of first straight linesegment
+** @param q1 start point of second line segment
+** @param q2 end point of second line segment
+** @return a #CG_SEGMENT_INTERSECTION_TYPE
** Returns one of
** SEG_ERROR = -1,
** SEG_NO_INTERSECTION = 0,
}
-/*!
-** \brief lwline_crossing_direction: returns the kind of #CG_LINE_CROSS_TYPE behavior of 2 linestrings
-** \param l1 first line string
-** \param l2 second line string
-** \return a #CG_LINE_CROSS_TYPE
+/**
+** @brief lwline_crossing_direction: returns the kind of #CG_LINE_CROSS_TYPE behavior of 2 linestrings
+** @param l1 first line string
+** @param l2 second line string
+** @return a #CG_LINE_CROSS_TYPE
** LINE_NO_CROSS = 0
** LINE_CROSS_LEFT = -1
** LINE_CROSS_RIGHT = 1
return (LWGEOM *)col->geoms[gnum];
}
-/*!
- * \brief find serialized size of this collection
- * \param col #LWCOLLECTION to find serialized size of
+/**
+ * @brief find serialized size of this collection
+ * @param col #LWCOLLECTION to find serialized size of
*/
size_t
lwcollection_serialize_size(LWCOLLECTION *col)
return size;
}
-/*! \brief convert an #LWCOLLECTION into its serialized form writing it into
+/** @brief convert an #LWCOLLECTION into its serialized form writing it into
* the given buffer, and returning number of bytes written into
* the given int pointer.
*/
return 1;
}
-/*!
- * \brief Clone #LWCOLLECTION object. #POINTARRAY are not copied.
+/**
+ * @brief Clone #LWCOLLECTION object. #POINTARRAY are not copied.
* Bbox is cloned if present in input.
*/
LWCOLLECTION *
return ret;
}
-/*! \brief Add 'what' to this to #LWCOLLECTION at position 'where'.
+/** @brief Add 'what' to this to #LWCOLLECTION at position 'where'.
* where=0 then prepend
* where=-1 then append
* Returns a GEOMETRYCOLLECTION
col->ngeoms, newgeoms);
}
-/*! \brief check for same geometry composition
+/** @brief check for same geometry composition
*
*/
char
void ptarray_free(POINTARRAY *pa)
{
- /*!
+ /**
* TODO: \todo Turn this on after retrofitting all calls to lwfree_ in /lwgeom
* if( pa->serialized_pointlist )
* lwfree(pa->serialized_pointlist);
}
-/*!
- * \brief calculate the 2d bounding box of a set of points
+/**
+ * @brief calculate the 2d bounding box of a set of points
* write result to the provided BOX2DFLOAT4
* Return 0 if bounding box is NULL (empty geom)
*/
return 1;
}
-/*!
- * \brief Calculate the 2d bounding box of a set of points.
- * \return allocated #BOX2DFLOAT4 or NULL (for empty array).
+/**
+ * @brief Calculate the 2d bounding box of a set of points.
+ * @return allocated #BOX2DFLOAT4 or NULL (for empty array).
*/
BOX2DFLOAT4 *
ptarray_compute_box2d(const POINTARRAY *pa)
return result;
}
-/*!
- * \brief Returns a modified #POINTARRAY so that no segment is
+/**
+ * @brief Returns a modified #POINTARRAY so that no segment is
* longer than the given distance (computed using 2d).
*
* Every input point is kept.
return 1;
}
-/*!
- * \brief Add a point in a pointarray.
+/**
+ * @brief Add a point in a pointarray.
* 'where' is the offset (starting at 0)
* if 'where' == -1 append is required.
*/
return ret;
}
-/*!
- * \brief Remove a point from a pointarray.
- * \param which - is the offset (starting at 0)
- * \return #POINTARRAY is newly allocated
+/**
+ * @brief Remove a point from a pointarray.
+ * @param which - is the offset (starting at 0)
+ * @return #POINTARRAY is newly allocated
*/
POINTARRAY *
ptarray_removePoint(POINTARRAY *pa, unsigned int which)
return ret;
}
-/*!
- * \brief Clone a pointarray
+/**
+ * @brief Clone a pointarray
*/
POINTARRAY *
ptarray_clone(const POINTARRAY *in)
return 1;
}
-/*!
- * \brief calculate the #BOX3D bounding box of a set of points
- * \return a lwalloced #BOX3D, or NULL on empty array.
+/**
+ * @brief calculate the #BOX3D bounding box of a set of points
+ * @return a lwalloced #BOX3D, or NULL on empty array.
* #zmin / #zmax values are set to #NO_Z_VALUE if not available.
*/
BOX3D *
return result;
}
-/*!
- * \brief calculate the #BOX3D bounding box of a set of points
+/**
+ * @brief calculate the #BOX3D bounding box of a set of points
* zmin/zmax values are set to #NO_Z_VALUE if not available.
* write result to the provided #BOX3D
- * \return 0 if bounding box is NULL (empty geom) and 1 otherwise
+ * @return 0 if bounding box is NULL (empty geom) and 1 otherwise
*/
int
ptarray_compute_box3d_p(const POINTARRAY *pa, BOX3D *result)
return 1;
}
-/*!
+/**
* TODO: \todo implement point interpolation
*/
POINTARRAY *
return plen/tlen;
}
-/*!
- * \brief Longitude shift for a pointarray.
+/**
+ * @brief Longitude shift for a pointarray.
* Y remains the same
* X is converted:
* from -180..180 to 0..360
return ret;
}
-/*!
- * \brief Add a #POINT4D to the dynamic pointarray.
+/**
+ * @brief Add a #POINT4D to the dynamic pointarray.
*
* The dynamic pointarray may be of any dimension, only
* accepted dimensions will be copied.
static int create_usrquerytable(void);
static const char *nullDBFValue(char fieldType);
int projFileCreate(const char * pszFilename, char *schema, char *table, char *geo_col_name);
-/*!
- * \brief Make appropriate formatting of a DBF value based on type.
+/**
+ * @brief Make appropriate formatting of a DBF value based on type.
* Might return untouched input or pointer to static private
* buffer: use return value right away.
*/
static const char * goodDBFValue(const char *in, char fieldType);
-/*! \brief Binary to hexewkb conversion function */
+/** @brief Binary to hexewkb conversion function */
char *convert_bytes_to_hex(uchar *ewkb, size_t size);
return 1;
}
-/*!
- * \brief Return allocate memory. Free after use.
+/**
+ * @brief Return allocate memory. Free after use.
*/
char *
getTableOID(char *schema, char *table)
return ret;
}
-/*! \brief Return geometry type as defined at top file.
- * \return -1 on error.
+/** @brief Return geometry type as defined at top file.
+ * @return -1 on error.
* 0 on unknown or unsupported geometry type.
* Set outtype to 'm' or 'z' depending on input type.
*/
}
-/*!
- * \brief Set global outtype variable to:
+/**
+ * @brief Set global outtype variable to:
* 'm' for 3dm input
* 'z' for 3dz or 4d input
* 's' for 2d
- * \return -1 on error, 0 on success.
+ * @return -1 on error, 0 on success.
* Call only on postgis >= 1.0.0
*/
int
exit (status);
}
-/*! \brief Parse command line parameters */
+/** @brief Parse command line parameters */
int
parse_commandline(int ARGC, char **ARGV)
{
return ver;
}
-/*!
- * \brief Initialize shapefile files, main scan query,
+/**
+ * @brief Initialize shapefile files, main scan query,
* type array.
*/
int
}
}
-/*!
- * \brief Either get a table (and optionally a schema)
+/**
+ * @brief Either get a table (and optionally a schema)
* or a query.
* A query starts with a "select" or "SELECT" string.
*/
}
}
-/*!
- * \brief Make appropriate formatting of a DBF value based on type.
+/**
+ * @brief Make appropriate formatting of a DBF value based on type.
* Might return untouched input or pointer to static private
* buffer: use return value right away.
*/
return hexewkb;
}
-/*!
- * \brief Creates ESRI .prj file for this shp output
+/**
+ * @brief Creates ESRI .prj file for this shp output
* It looks in the spatial_ref_sys table and outputs the srtext field for this data
* If data is a table will use geometry_columns, if a query or view will read SRID from query output.
- * \warning Will give warning and not output a .prj file if SRID is -1, Unknown, mixed SRIDS or not found in spatial_ref_sys. The dbf and shp will still be output.
+ * @warning Will give warning and not output a .prj file if SRID is -1, Unknown, mixed SRIDS or not found in spatial_ref_sys. The dbf and shp will still be output.
*/
int projFileCreate(const char * pszFilename, char *schema, char *table, char *geo_col_name)
{
*
/
- /*! *********************************************************************
+ /** *********************************************************************
* \file Using shapelib 1.2.8, this program reads in shape files and
* processes it's contents into a Insert statements which can be
* easily piped into a database frontend.
unsigned int linked; /* number of "next" rings */
} Ring;
-/*! \brief Values for null_policy global */
+/** @brief Values for null_policy global */
enum {
insert_null,
skip_null,
#define malloc(x) safe_malloc(x)
-/*!
- * \brief Escape input string suitable for COPY
+/**
+ * @brief Escape input string suitable for COPY
*/
char *
-/*!
- * \brief PIP(): crossing number test for a point in a polygon
+/**
+ * @brief PIP(): crossing number test for a point in a polygon
* input: P = a point,
* V[] = vertex points of a polygon V[n+1] with V[n]=V[0]
- * \return 0 = outside, 1 = inside
+ * @return 0 = outside, 1 = inside
*/
int
PIP( Point P, Point* V, int n )
}
-/*!
- * \brief Insert the attributes from the correct row of dbf file
+/**
+ * @brief Insert the attributes from the correct row of dbf file
*/
int
-/*!
+/**
* main()
- * \brief see description at the top of this file
+ * @brief see description at the top of this file
*/
int
main (int ARGC, char **ARGV)
free(polys);
}
-/*! \brief This function basically deals with the polygon case. */
+/** @brief This function basically deals with the polygon case. */
/* it sorts the polys in order of outer,inner,inner, so that inners */
/* always come after outers they are within */
void
lwfree(lwcollection);
}
-/*!
- * \brief Insert either a POINT or MULTIPOINT into the output stream
+/**
+ * @brief Insert either a POINT or MULTIPOINT into the output stream
*/
void
InsertPoint(void)
void
DropTable(char *schema, char *table, char *geom)
{
- /*!---------------Drop the table--------------------------
+ /**---------------Drop the table--------------------------
* TODO: \todo if the table has more then one geometry column
* the DROP TABLE call will leave spurious records in
* geometry_columns.