Blender V2.61 - r43446
Public Member Functions | Public Attributes

Projections Class Reference

#include <Projections.h>

List of all members.

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

InheritableProjectionsinherit
 Inheritable portion.
LONG cubeProj [13][6]
 Projections of the cube vertices.

Detailed Description

Class for projections of cube / triangle vertices on the separating axes

Definition at line 87 of file Projections.h.


Constructor & Destructor Documentation

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.

References cubeProj, i, and inherit.

Projections::Projections ( Projections parent,
int  box[3],
int  depth 
) [inline]

Definition at line 267 of file Projections.h.

References cubeProj, i, and inherit.


Member Function Documentation

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]

Definition at line 831 of file Projections.h.

References sqrt().

Referenced by Projections().

void Projections::shift ( int  off[3]) [inline]

Shifting a cube to a new origin

Definition at line 528 of file Projections.h.

References cubeProj, and i.

void Projections::shiftNoPrimary ( int  off[3]) [inline]

Definition at line 536 of file Projections.h.

References cubeProj, and i.


Member Data Documentation

LONG Projections::cubeProj[13][6]

The documentation for this class was generated from the following file: