Blender V2.61 - r43446
|
#include <Projections.h>
Public Member Functions | |
Projections () | |
Projections (LONG cube[2][3], LONG trig[3][3], LONG error, int triind) | |
Projections (Projections *parent) | |
Projections (Projections *parent, int box[3], int depth) | |
int | getIntersectionMasks (UCHAR cedgemask, UCHAR &edgemask) |
UCHAR | getChildrenMasks (UCHAR cvertmask, UCHAR vertmask[8]) |
UCHAR | getBoxMask () |
void | getSubProjectionsSimple (Projections *p[8]) |
void | shift (int off[3]) |
void | shiftNoPrimary (int off[3]) |
int | isIntersecting () |
int | isIntersectingNoPrimary () |
int | isIntersecting (int edgeInd) |
int | isIntersecting (int edgeInd, int faceInd) |
int | isIntersectingPrimary (int edgeInd) |
double | getIntersection (int edgeInd) |
float | getIntersectionPrimary (int edgeInd) |
void | crossProduct (LONG a[3], LONG b[3], LONG res[3]) |
void | crossProduct (double a[3], double b[3], double res[3]) |
LONG | dotProduct (LONG a[3], LONG b[3]) |
void | normalize (double a[3]) |
Public Attributes | |
InheritableProjections * | inherit |
Inheritable portion. | |
LONG | cubeProj [13][6] |
Projections of the cube vertices. |
Class for projections of cube / triangle vertices on the separating axes
Definition at line 87 of file Projections.h.
Projections::Projections | ( | ) | [inline] |
Definition at line 98 of file Projections.h.
Referenced by getSubProjectionsSimple().
Projections::Projections | ( | LONG | cube[2][3], |
LONG | trig[3][3], | ||
LONG | error, | ||
int | triind | ||
) | [inline] |
Construction from a cube (axes aligned) and triangle
Create axes
Normalize face normal and store
Generate projections
Definition at line 106 of file Projections.h.
References crossProduct(), cubeProj, dotProduct(), i, InheritableProjections::index, inherit, LONG, max, min, InheritableProjections::norm, normalize(), InheritableProjections::trigEdgeProj, InheritableProjections::trigProj, InheritableProjections::trigVertProj, and vertmap.
Projections::Projections | ( | Projections * | parent | ) | [inline] |
Construction from a parent Projections object and the index of the children
Definition at line 251 of file Projections.h.
Projections::Projections | ( | Projections * | parent, |
int | box[3], | ||
int | depth | ||
) | [inline] |
Definition at line 267 of file Projections.h.
void Projections::crossProduct | ( | LONG | a[3], |
LONG | b[3], | ||
LONG | res[3] | ||
) | [inline] |
Method to perform cross-product
Definition at line 810 of file Projections.h.
Referenced by Projections().
void Projections::crossProduct | ( | double | a[3], |
double | b[3], | ||
double | res[3] | ||
) | [inline] |
Definition at line 816 of file Projections.h.
LONG Projections::dotProduct | ( | LONG | a[3], |
LONG | b[3] | ||
) | [inline] |
Method to perform dot product
Definition at line 826 of file Projections.h.
Referenced by Projections().
UCHAR Projections::getBoxMask | ( | ) | [inline] |
Definition at line 454 of file Projections.h.
References cubeProj, i, inherit, len(), LONG, InheritableProjections::trigProj, and UCHAR.
UCHAR Projections::getChildrenMasks | ( | UCHAR | cvertmask, |
UCHAR | vertmask[8] | ||
) | [inline] |
Retrieving children masks using PRIMARY AXES
Definition at line 365 of file Projections.h.
References cubeProj, i, inherit, len(), LONG, InheritableProjections::trigProj, InheritableProjections::trigVertProj, and UCHAR.
double Projections::getIntersection | ( | int | edgeInd | ) | [inline] |
Definition at line 736 of file Projections.h.
References cubeProj, edgemap, i, inherit, LONG, InheritableProjections::trigProj, and vertmap.
int Projections::getIntersectionMasks | ( | UCHAR | cedgemask, |
UCHAR & | edgemask | ||
) | [inline] |
Testing intersection based on vertex/edge masks
Definition at line 290 of file Projections.h.
References cubeProj, i, inherit, LONG, InheritableProjections::trigEdgeProj, InheritableProjections::trigProj, and UCHAR.
float Projections::getIntersectionPrimary | ( | int | edgeInd | ) | [inline] |
Definition at line 782 of file Projections.h.
References cubeProj, i, inherit, LONG, and InheritableProjections::trigProj.
void Projections::getSubProjectionsSimple | ( | Projections * | p[8] | ) | [inline] |
Get projections for sub-cubes (simple axes)
Definition at line 495 of file Projections.h.
References cubeProj, i, inherit, len(), LONG, and Projections().
int Projections::isIntersecting | ( | int | edgeInd | ) | [inline] |
Method to test intersection of the triangle and one edge
Definition at line 606 of file Projections.h.
References cubeProj, edgemap, i, inherit, LONG, InheritableProjections::trigProj, and vertmap.
int Projections::isIntersecting | ( | int | edgeInd, |
int | faceInd | ||
) | [inline] |
Method to test intersection of one triangle edge and one cube face
Definition at line 646 of file Projections.h.
References cubeProj, facemap, i, inherit, LONG, InheritableProjections::trigVertProj, and vertmap.
int Projections::isIntersecting | ( | ) | [inline] |
Method to test intersection of the triangle and the cube
Definition at line 547 of file Projections.h.
References cubeProj, i, inherit, LONG, and InheritableProjections::trigProj.
int Projections::isIntersectingNoPrimary | ( | ) | [inline] |
Definition at line 575 of file Projections.h.
References cubeProj, i, inherit, LONG, and InheritableProjections::trigProj.
int Projections::isIntersectingPrimary | ( | int | edgeInd | ) | [inline] |
Definition at line 705 of file Projections.h.
References cubeProj, i, inherit, LONG, and InheritableProjections::trigProj.
void Projections::normalize | ( | double | a[3] | ) | [inline] |
void Projections::shift | ( | int | off[3] | ) | [inline] |
Shifting a cube to a new origin
Definition at line 528 of file Projections.h.
void Projections::shiftNoPrimary | ( | int | off[3] | ) | [inline] |
Definition at line 536 of file Projections.h.
LONG Projections::cubeProj[13][6] |
Projections of the cube vertices.
Definition at line 94 of file Projections.h.
Referenced by getBoxMask(), getChildrenMasks(), getIntersection(), getIntersectionMasks(), getIntersectionPrimary(), getSubProjectionsSimple(), isIntersecting(), isIntersectingNoPrimary(), isIntersectingPrimary(), Projections(), shift(), and shiftNoPrimary().
Inheritable portion.
Definition at line 91 of file Projections.h.
Referenced by getBoxMask(), getChildrenMasks(), getIntersection(), getIntersectionMasks(), getIntersectionPrimary(), getSubProjectionsSimple(), isIntersecting(), isIntersectingNoPrimary(), isIntersectingPrimary(), and Projections().