proj home

Files   Classes   Functions   Hierarchy  

virtualtriangle Class Reference

#include <virtualtriangle.h>

Collaboration diagram for virtualtriangle:

List of all members.

Public Member Functions

 virtualtriangle ()
void set (uintc a, uintc b, uintc c)
void set (uintc base)
void clockwise ()
void anticlockwise ()
bool const validstate () const

Public Attributes

uint v [3]


Detailed Description

Definition at line 9 of file virtualtriangle.h.


Constructor & Destructor Documentation

virtualtriangle::virtualtriangle (  ) 

Definition at line 7 of file virtualtriangle.cpp.

00008 {
00009   set(0,1,2);
00010 }


Member Function Documentation

void virtualtriangle::anticlockwise (  ) 

Definition at line 20 of file virtualtriangle.cpp.

References v.

Referenced by keyboard(), d3tess::moveleft(), d3tess::moveright(), d3tess::searchminimizetowardspoint(), and d3tess::surfaceright().

00021 {
00022   // Left shift
00023   uint k=v[0];
00024   v[0]=v[1];
00025   v[1]=v[2];
00026   v[2]=k;
00027 }

void virtualtriangle::clockwise (  ) 

Definition at line 12 of file virtualtriangle.cpp.

References v.

Referenced by writevoronoidiagramobj::draw(), writecpvoronoiobj::draw(), keyboard(), d3tess::moveleft(), d3tess::moveright(), and d3tess::surfaceleft().

00013 {
00014   uint k=v[2];
00015   v[2]=v[1];
00016   v[1]=v[0];
00017   v[0]=k;
00018 }

void virtualtriangle::set ( uintc  base  ) 

Definition at line 37 of file virtualtriangle.cpp.

References v.

00038 {
00039   switch(base)
00040   {
00041     case 0:  v[0]=1; v[1]=2; v[2]=0;
00042       break;
00043 
00044     case 1:  v[0]=2; v[1]=0; v[2]=1;
00045       break;
00046 
00047     case 2:  v[0]=0; v[1]=1; v[2]=2;
00048       break;
00049 
00050     default:
00051       assert(false);
00052   }
00053 }

void virtualtriangle::set ( uintc  a,
uintc  b,
uintc  c 
)

Definition at line 29 of file virtualtriangle.cpp.

References v.

Referenced by d3tess::boundaryorient(), d3tess::cpsimplexfaceset(), writevoronoidiagramobj::draw(), d3tess::flip(), and d3tess::movedown().

00030 {
00031   v[0]=a; 
00032   v[1]=b; 
00033   v[2]=c; 
00034 }

bool const virtualtriangle::validstate (  )  const

Definition at line 55 of file virtualtriangle.cpp.

References v.

Referenced by d3tess::cpsimplexfaceget().

00056 {
00057   uint v2[3];
00058   for (uint i=0; i<3; ++i)
00059     v2[i] = v[i];
00060 
00061   sort(v2,v2+3);
00062   for (uint i=0; i<3; ++i)
00063     if (v2[i]!=i)
00064       return false;
00065 
00066   return true;
00067 }


Member Data Documentation


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

Generated on Fri Mar 4 00:50:23 2011 for Chelton Evans Source by  doxygen 1.5.8