message: Docs: clarify SignedDistance ctor options, add batched example
diff: @@ -66,16 +66,19 @@ Class header:
  :end-before: _quest_distance_cpp_include_end
  :language: C++
  -The constructor takes several arguments. Here, ``surface_mesh`` is a pointer to
  -a triangle surface mesh. The second argument indicates the mesh is a watertight
  -mesh, a manifold. The signed distance from a point to a manifold is
  -mathematically well-defined. When the input is not a closed surface mesh, the
  -mesh must span the entire computational mesh domain, dividing it into two regions.
  -The third argument is optional, and allows toggling the computation of signs in
  -distance queries; by default, this is set to ``true``, enabling the computation
  -of signs in queries. The fourth argument is also optional, and allows for setting
  -a custom Umpire allocator to use in constructing the underlying bounding volume
  -hierarchy.
  +The constructor takes several arguments:
  +
  +- ``const mint::Mesh* surfaceMesh``: A pointer to a surface mesh with triangles
  + and/or quadrilaterals.
  +- ``bool isWatertight``: Indicates the mesh is a watertight mesh, a manifold.
  + The signed distance from a point to a manifold is mathematically well-defined.
  + When the input is not a closed surface mesh, the mesh must span the entire
  + computational mesh domain, dividing it into two regions.
  +- ``bool computeSign`` (default ``true``): Optional. Enables or disables the
  + computation of signs in distance queries.
  +- ``int allocatorID``: Optional. Sets a custom Umpire allocator to use in
  + constructing the underlying BVH.
  +
  Note that the second and subsequent arguments to the constructor correspond to
  ``quest::signed_distance_set`` functions in the C API.
  @@ -90,10 +93,24 @@ OpenMP or on a GPU.
  :language: C++
  Test a query point.
  -::
  +.. code-block:: C++
  axom::primal::Point< double,3 > pt =
  axom::primal::Point< double,3 >::make_point(2., 3., 1.);
  double signedDistance = signed_distance.computeDistance(pt);
  +Test a batch of query points.
  +.. code-block:: C++
  +
  + const int numPoints = 20;
  + axom::primal::Point<double, 3>* pts =
  + axom::allocate<axom::primal::Point<double, 3>>(numPoints);
  + for (int ipt = 0; ipt < numPoints; ipt++)
  + {
  + // fill pts array
  + pts[ipt] = ...;
  + }
  + double signedDists = axom::allocate<double>(20);
  + signed_distance.computeDistances(numPts, pts, signedDists);
  +
  The object destructor takes care of all cleanup.
  