Classes | Macros | Typedefs | Functions
polytope.h File Reference
#include <stdlib.h>
#include <stdio.h>
#include "support.h"
#include "list.h"
Include dependency graph for polytope.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  _ccd_pt_edge_t
struct  _ccd_pt_el_t
struct  _ccd_pt_face_t
struct  _ccd_pt_t
struct  _ccd_pt_vertex_t


#define __CCD_PT_EL
#define CCD_PT_EDGE   2
#define CCD_PT_FACE   3
#define CCD_PT_VERTEX   1


typedef struct _ccd_pt_edge_t ccd_pt_edge_t
typedef struct _ccd_pt_el_t ccd_pt_el_t
typedef struct _ccd_pt_face_t ccd_pt_face_t
typedef struct _ccd_pt_t ccd_pt_t
typedef struct _ccd_pt_vertex_t ccd_pt_vertex_t


ccd_pt_edge_tccdPtAddEdge (ccd_pt_t *pt, ccd_pt_vertex_t *v1, ccd_pt_vertex_t *v2)
ccd_pt_face_tccdPtAddFace (ccd_pt_t *pt, ccd_pt_edge_t *e1, ccd_pt_edge_t *e2, ccd_pt_edge_t *e3)
ccd_pt_vertex_tccdPtAddVertex (ccd_pt_t *pt, const ccd_support_t *v)
_ccd_inline ccd_pt_vertex_tccdPtAddVertexCoords (ccd_pt_t *pt, ccd_real_t x, ccd_real_t y, ccd_real_t z)
_ccd_inline int ccdPtDelEdge (ccd_pt_t *pt, ccd_pt_edge_t *)
_ccd_inline int ccdPtDelFace (ccd_pt_t *pt, ccd_pt_face_t *)
_ccd_inline int ccdPtDelVertex (ccd_pt_t *pt, ccd_pt_vertex_t *)
void ccdPtDestroy (ccd_pt_t *pt)
void ccdPtDumpSVT (ccd_pt_t *pt, const char *fn)
void ccdPtDumpSVT2 (ccd_pt_t *pt, FILE *)
_ccd_inline void ccdPtEdgeFaces (const ccd_pt_edge_t *e, ccd_pt_face_t **f1, ccd_pt_face_t **f2)
_ccd_inline void ccdPtEdgeVec3 (const ccd_pt_edge_t *e, ccd_vec3_t **a, ccd_vec3_t **b)
_ccd_inline void ccdPtEdgeVertices (const ccd_pt_edge_t *e, ccd_pt_vertex_t **a, ccd_pt_vertex_t **b)
_ccd_inline void ccdPtFaceEdges (const ccd_pt_face_t *f, ccd_pt_edge_t **a, ccd_pt_edge_t **b, ccd_pt_edge_t **c)
_ccd_inline void ccdPtFaceVec3 (const ccd_pt_face_t *face, ccd_vec3_t **a, ccd_vec3_t **b, ccd_vec3_t **c)
_ccd_inline void ccdPtFaceVertices (const ccd_pt_face_t *face, ccd_pt_vertex_t **a, ccd_pt_vertex_t **b, ccd_pt_vertex_t **c)
void ccdPtInit (ccd_pt_t *pt)
ccd_pt_el_tccdPtNearest (ccd_pt_t *pt)
void ccdPtRecomputeDistances (ccd_pt_t *pt)

Macro Definition Documentation


#define __CCD_PT_EL
int type; \
ccd_real_t dist; \
ccd_vec3_t witness; \
ccd_list_t list;

Definition at line 35 of file polytope.h.


#define CCD_PT_EDGE   2

Definition at line 31 of file polytope.h.


#define CCD_PT_FACE   3

Definition at line 32 of file polytope.h.


#define CCD_PT_VERTEX   1

Definition at line 30 of file polytope.h.

Typedef Documentation

◆ ccd_pt_edge_t

typedef struct _ccd_pt_edge_t ccd_pt_edge_t

Definition at line 76 of file polytope.h.

◆ ccd_pt_el_t

typedef struct _ccd_pt_el_t ccd_pt_el_t

Definition at line 48 of file polytope.h.

◆ ccd_pt_face_t

typedef struct _ccd_pt_face_t ccd_pt_face_t

Definition at line 86 of file polytope.h.

◆ ccd_pt_t

typedef struct _ccd_pt_t ccd_pt_t

Definition at line 101 of file polytope.h.

◆ ccd_pt_vertex_t

Definition at line 63 of file polytope.h.

Function Documentation

◆ ccdPtAddEdge()

ccd_pt_edge_t* ccdPtAddEdge ( ccd_pt_t pt,
ccd_pt_vertex_t v1,
ccd_pt_vertex_t v2 

Adds edge to polytope.

◆ ccdPtAddFace()

ccd_pt_face_t* ccdPtAddFace ( ccd_pt_t pt,
ccd_pt_edge_t e1,
ccd_pt_edge_t e2,
ccd_pt_edge_t e3 

Adds face to polytope.

◆ ccdPtAddVertex()

ccd_pt_vertex_t* ccdPtAddVertex ( ccd_pt_t pt,
const ccd_support_t v 

Adds vertex to polytope and returns pointer to newly created vertex.

◆ ccdPtAddVertexCoords()

_ccd_inline ccd_pt_vertex_t * ccdPtAddVertexCoords ( ccd_pt_t pt,
ccd_real_t  x,
ccd_real_t  y,
ccd_real_t  z 

Definition at line 179 of file polytope.h.

◆ ccdPtDelEdge()

_ccd_inline int ccdPtDelEdge ( ccd_pt_t pt,
ccd_pt_edge_t e 

Definition at line 204 of file polytope.h.

◆ ccdPtDelFace()

_ccd_inline int ccdPtDelFace ( ccd_pt_t pt,
ccd_pt_face_t f 

Definition at line 226 of file polytope.h.

◆ ccdPtDelVertex()

_ccd_inline int ccdPtDelVertex ( ccd_pt_t pt,
ccd_pt_vertex_t v 

Deletes vertex from polytope. Returns 0 on success, -1 otherwise.

Definition at line 187 of file polytope.h.

◆ ccdPtDestroy()

void ccdPtDestroy ( ccd_pt_t pt)

◆ ccdPtDumpSVT()

void ccdPtDumpSVT ( ccd_pt_t pt,
const char *  fn 

◆ ccdPtDumpSVT2()

void ccdPtDumpSVT2 ( ccd_pt_t pt,
FILE *   

◆ ccdPtEdgeFaces()

_ccd_inline void ccdPtEdgeFaces ( const ccd_pt_edge_t e,
ccd_pt_face_t **  f1,
ccd_pt_face_t **  f2 

Definition at line 309 of file polytope.h.

◆ ccdPtEdgeVec3()

_ccd_inline void ccdPtEdgeVec3 ( const ccd_pt_edge_t e,
ccd_vec3_t **  a,
ccd_vec3_t **  b 

Definition at line 293 of file polytope.h.

◆ ccdPtEdgeVertices()

_ccd_inline void ccdPtEdgeVertices ( const ccd_pt_edge_t e,
ccd_pt_vertex_t **  a,
ccd_pt_vertex_t **  b 

Definition at line 301 of file polytope.h.

◆ ccdPtFaceEdges()

_ccd_inline void ccdPtFaceEdges ( const ccd_pt_face_t f,
ccd_pt_edge_t **  a,
ccd_pt_edge_t **  b,
ccd_pt_edge_t **  c 

Definition at line 283 of file polytope.h.

◆ ccdPtFaceVec3()

_ccd_inline void ccdPtFaceVec3 ( const ccd_pt_face_t face,
ccd_vec3_t **  a,
ccd_vec3_t **  b,
ccd_vec3_t **  c 

Returns vertices surrounding given triangle face.

Definition at line 251 of file polytope.h.

◆ ccdPtFaceVertices()

_ccd_inline void ccdPtFaceVertices ( const ccd_pt_face_t face,
ccd_pt_vertex_t **  a,
ccd_pt_vertex_t **  b,
ccd_pt_vertex_t **  c 

Definition at line 267 of file polytope.h.

◆ ccdPtInit()

void ccdPtInit ( ccd_pt_t pt)

◆ ccdPtNearest()

ccd_pt_el_t* ccdPtNearest ( ccd_pt_t pt)

Returns nearest element to origin.

◆ ccdPtRecomputeDistances()

void ccdPtRecomputeDistances ( ccd_pt_t pt)

Recompute distances from origin for all elements in pt.

autogenerated on Tue Dec 5 2023 03:40:49