Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions docs/source/_static/css/custom.css
Original file line number Diff line number Diff line change
@@ -1,44 +1,51 @@
.md-grid {
max-width: max(1250px, 75vw) !important;
}

span.colon {
margin-left: -1em;
}

dl.cpp.objdesc, dl.py.objdesc {
dl.cpp.objdesc,
dl.py.objdesc {
/* border: 0.05rem solid var(--md-primary-fg-color); */
border: 0.05rem solid rgb(68, 138, 255);
box-shadow: var(--md-shadow-z1);
border-radius: 0.4rem;
overflow: hidden;
}

dl.cpp.objdesc > dt, dl.py.objdesc > dt {
dl.cpp.objdesc>dt,
dl.py.objdesc>dt {
padding-left: 0.5rem;
padding-right: 0.5rem;
}

dl.cpp.objdesc > dd, dl.py.objdesc > dd {
dl.cpp.objdesc>dd,
dl.py.objdesc>dd {
margin: 0 1.875em;
}

dl.py.objdesc > dd > details.toggle-details {
dl.py.objdesc>dd>details.toggle-details {
border: 0.05rem solid var(--md-primary-fg-color);
box-shadow: var(--md-shadow-z1);
border-radius: 0.4rem;
overflow: hidden;
}

dl.py.objdesc > dd > details.toggle-details > summary {
dl.py.objdesc>dd>details.toggle-details>summary {
border: 0;
font-size: 0.8rem;
}

dl.py.objdesc > dd > details.toggle-details > summary::before,
dl.py.objdesc > dd > details.toggle-details > summary::after {
dl.py.objdesc>dd>details.toggle-details>summary::before,
dl.py.objdesc>dd>details.toggle-details>summary::after {
background-color: var(--md-primary-fg-color--light);
/* background-color: currentcolor; */
top: auto;
}

dl.py.objdesc > dd > details.toggle-details > summary > svg.tb-icon {
dl.py.objdesc>dd>details.toggle-details>summary>svg.tb-icon {
display: none;
}

Expand Down Expand Up @@ -77,4 +84,4 @@ margin: 0 !important;
dl.api-field > dd > p {
padding: 0 !important;
margin: 0 !important;
} */
} */
9 changes: 8 additions & 1 deletion docs/source/cpp-api/broad_phase.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,37 @@ Broad Phase
-----------

.. doxygenclass:: ipc::BroadPhase
:allow-dot-graphs:

Brute Force
-----------

.. doxygenclass:: ipc::BruteForce
:allow-dot-graphs:

Hash Grid
---------

.. doxygenclass:: ipc::HashGrid
:allow-dot-graphs:

Spatial Hash
------------

.. doxygenclass:: ipc::SpatialHash
:allow-dot-graphs:

BVH
---

.. doxygenclass:: ipc::BVH
:allow-dot-graphs:

Sweep and Prune
-----------------------

.. doxygenclass:: ipc::SweepAndPrune
:allow-dot-graphs:

Sweep and Tiniest Queue
-----------------------
Expand All @@ -43,4 +49,5 @@ Sweep and Tiniest Queue
AABB
----

.. doxygenclass:: ipc::AABB
.. doxygenclass:: ipc::AABB
:allow-dot-graphs:
10 changes: 9 additions & 1 deletion docs/source/cpp-api/candidates.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,51 @@ Candidates
----------

.. doxygenclass:: ipc::Candidates
:allow-dot-graphs:

Collision Stencil
-----------------

.. doxygenclass:: ipc::CollisionStencil
:allow-dot-graphs:


Continuous Collision Candidate
------------------------------

.. doxygenclass:: ipc::ContinuousCollisionCandidate
:allow-dot-graphs:


Vertex-Vertex Candidate
-----------------------

.. doxygenclass:: ipc::VertexVertexCandidate
:allow-dot-graphs:


Edge-Vertex Candidate
---------------------

.. doxygenclass:: ipc::EdgeVertexCandidate
:allow-dot-graphs:


Edge-Edge Candidate
-------------------

.. doxygenclass:: ipc::EdgeEdgeCandidate
:allow-dot-graphs:


Edge-Face Candidate
-------------------

.. doxygenclass:: ipc::EdgeFaceCandidate
:allow-dot-graphs:

Face-Vertex Candidate
---------------------

.. doxygenclass:: ipc::FaceVertexCandidate
.. doxygenclass:: ipc::FaceVertexCandidate
:allow-dot-graphs:
53 changes: 31 additions & 22 deletions docs/source/cpp-api/ccd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,45 @@ Continuous Collision Detection

.. doxygenfunction:: ipc::compute_collision_free_stepsize

.. doxygenvariable:: ipc::DEFAULT_CCD_TOLERANCE
.. doxygenvariable:: ipc::DEFAULT_CCD_MAX_ITERATIONS
.. doxygenvariable:: ipc::DEFAULT_CCD_CONSERVATIVE_RESCALING
Narrow Phase CCD
----------------

Individual CCD Functions
------------------------
.. doxygenclass:: ipc::NarrowPhaseCCD
:allow-dot-graphs:

.. doxygenfunction:: ipc::point_point_ccd
.. doxygenfunction:: ipc::point_edge_ccd
.. doxygenfunction:: ipc::edge_edge_ccd
.. doxygenfunction:: ipc::point_triangle_ccd
Tight Inclusion CCD
^^^^^^^^^^^^^^^^^^^

Generic Interface
^^^^^^^^^^^^^^^^^

.. doxygenfunction:: ipc::ccd_strategy
.. doxygenclass:: ipc::TightInclusionCCD
:allow-dot-graphs:

Additive CCD
------------
^^^^^^^^^^^^

.. doxygenfunction:: ipc::additive_ccd::point_point_ccd
.. doxygenfunction:: ipc::additive_ccd::point_edge_ccd
.. doxygenfunction:: ipc::additive_ccd::edge_edge_ccd
.. doxygenfunction:: ipc::additive_ccd::point_triangle_ccd
.. doxygenclass:: ipc::AdditiveCCD
:allow-dot-graphs:

Generic Interface
^^^^^^^^^^^^^^^^^
Inexact CCD
^^^^^^^^^^^

.. note::
This method is disabled by default. To enable it, set the
``IPC_TOOLKIT_WITH_INEXACT_CCD`` CMake option to ``ON``.

.. doxygenfunction:: ipc::additive_ccd::additive_ccd
.. .. doxygenclass:: ipc::InexactCCD
.. :allow-dot-graphs:

.. doxygenfunction:: ipc::inexact_point_edge_ccd_2D

Nonlinear CCD
-------------

.. doxygenclass:: ipc::NonlinearTrajectory
:allow-dot-graphs:

.. doxygenclass:: ipc::IntervalNonlinearTrajectory
:allow-dot-graphs:


.. doxygenfunction:: ipc::point_point_nonlinear_ccd
.. doxygenfunction:: ipc::point_edge_nonlinear_ccd
Expand All @@ -49,4 +53,9 @@ Nonlinear CCD
Generic Interface
^^^^^^^^^^^^^^^^^

.. doxygenfunction:: ipc::conservative_piecewise_linear_ccd
.. doxygenfunction:: ipc::conservative_piecewise_linear_ccd

Miscellaneous
-------------

.. doxygenfunction:: ipc::point_static_plane_ccd
3 changes: 2 additions & 1 deletion docs/source/cpp-api/collision_mesh.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Collision Mesh
==============

.. doxygenclass:: ipc::CollisionMesh
.. doxygenclass:: ipc::CollisionMesh
:allow-dot-graphs:
8 changes: 4 additions & 4 deletions docs/source/cpp-api/normal_collisions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,25 @@ Normal Collision
:allow-dot-graphs:

Vertex-Vertex Normal Collision
-----------------------------
------------------------------

.. doxygenclass:: ipc::VertexVertexNormalCollision
:allow-dot-graphs:

Edge-Vertex Normal Collision
-----------------------------
----------------------------

.. doxygenclass:: ipc::EdgeVertexNormalCollision
:allow-dot-graphs:

Edge-Edge Normal Collision
-----------------------------
--------------------------

.. doxygenclass:: ipc::EdgeEdgeNormalCollision
:allow-dot-graphs:

Face-Vertex Normal Collision
-----------------------------
----------------------------

.. doxygenclass:: ipc::FaceVertexNormalCollision
:allow-dot-graphs:
Expand Down
52 changes: 23 additions & 29 deletions docs/source/python-api/ccd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,37 @@ Continuous Collision Detection

.. autofunction:: ipctk.compute_collision_free_stepsize

Individual CCD Functions
------------------------
Narrow Phase CCD
----------------

.. .. autovariable:: ipctk.DEFAULT_CCD_TOLERANCE
.. .. autovariable:: ipctk.DEFAULT_CCD_MAX_ITERATIONS
.. .. autovariable:: ipctk.DEFAULT_CCD_CONSERVATIVE_RESCALING
.. autoclass:: ipctk.NarrowPhaseCCD

.. autofunction:: ipctk.point_point_ccd
.. autofunction:: ipctk.point_edge_ccd
.. autofunction:: ipctk.edge_edge_ccd
.. autofunction:: ipctk.point_triangle_ccd

Generic Interface
^^^^^^^^^^^^^^^^^

.. autofunction:: ipctk.ccd_strategy
.. autoclasstoc::

Tight Inclusion CCD
-------------------
^^^^^^^^^^^^^^^^^^^

.. autofunction:: ipctk.tight_inclusion.edge_edge_ccd
.. autofunction:: ipctk.tight_inclusion.point_triangle_ccd
.. autoclass:: ipctk.TightInclusionCCD

.. autofunction:: ipctk.tight_inclusion.compute_ccd_filters
.. autoclasstoc::

Additive CCD
------------
^^^^^^^^^^^^

.. autofunction:: ipctk.additive_ccd.point_point_ccd
.. autofunction:: ipctk.additive_ccd.point_edge_ccd
.. autofunction:: ipctk.additive_ccd.edge_edge_ccd
.. autofunction:: ipctk.additive_ccd.point_triangle_ccd
.. autoclass:: ipctk.AdditiveCCD

Generic Interface
^^^^^^^^^^^^^^^^^
.. autoclasstoc::

.. autofunction:: ipctk.additive_ccd.additive_ccd
Inexact CCD
^^^^^^^^^^^

.. note::
This method is disabled by default. To enable it, set the
``IPC_TOOLKIT_WITH_INEXACT_CCD`` CMake option to ``ON``.

.. .. autoclass:: ipctk.InexactCCD

.. autofunction:: ipctk.inexact_point_edge_ccd_2D

Nonlinear CCD
-------------
Expand All @@ -59,7 +53,7 @@ Nonlinear CCD
.. autofunction:: ipctk.edge_edge_nonlinear_ccd
.. autofunction:: ipctk.point_triangle_nonlinear_ccd

Generic Interface
^^^^^^^^^^^^^^^^^
Miscellaneous
-------------

.. autofunction:: ipctk.conservative_piecewise_linear_ccd
.. autofunction:: ipctk.point_static_plane_ccd
17 changes: 17 additions & 0 deletions python/src/ccd/inexact_point_edge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,23 @@ void define_inexact_point_edge(py::module_& m)
conservative_rescaling);
return std::make_tuple(r, toi);
},
R"ipc_Qu8mg5v7(
Inexact continuous collision detection between a point and an edge in 2D.

Parameters:
p_t0: Initial position of the point
e0_t0: Initial position of the first endpoint of the edge
e1_t0: Initial position of the second endpoint of the edge
p_t1: Final position of the point
e0_t1: Final position of the first endpoint of the edge
e1_t1: Final position of the second endpoint of the edge
conservative_rescaling: Conservative rescaling of the time of impact

Returns:
Tuple of:
True if a collision was detected, false otherwise.
Output time of impact
)ipc_Qu8mg5v7",
py::arg("p_t0"), py::arg("e0_t0"), py::arg("e1_t0"), py::arg("p_t1"),
py::arg("e0_t1"), py::arg("e1_t1"), py::arg("conservative_rescaling"));
}
Loading