Public Member Functions | Public Attributes

Quad Struct Reference

Search for all occurrences

Detailed Description

Definition at line 12 of file UVMeshGrid.h.

#include <UVMeshGrid.h>

List of all members.

Public Member Functions

  Quad ()
  Quad (const Mesh *pMesh, unsigned int iFaceIndex, int iSide=0)
bool  Step (int iDirection=0)
unsigned int  Corner (int iIndex) const
unsigned int  CornerTCI (int iIndex)
Vector  CornerPosition (int iIndex) const
Vector  Center (void) const
void  TurnRight (void)
void  TurnLeft (void)
Quad operator= (const Quad &pOther)

Public Attributes

const Mesh m_pMesh
unsigned int  m_iFaceIndex
int  m_iSide

Constructor & Destructor Documentation

Quad ( ) [inline]

Definition at line 14 of file UVMeshGrid.h.

           :
        m_pMesh(0),
        m_iFaceIndex(0xffffffff),
        m_iSide(0xffffffff)
    {
    };
Quad ( const Mesh pMesh,
unsigned int  iFaceIndex,
int  iSide = 0 
) [inline]

Definition at line 21 of file UVMeshGrid.h.

    {
        m_pMesh = pMesh;
        m_iFaceIndex = iFaceIndex;
        m_iSide = iSide;
    };

Member Function Documentation

bool Step ( int  iDirection = 0 ) [inline]

Definition at line 33 of file UVMeshGrid.h.

    {
        unsigned int a = m_pMesh->QuadAdjacency( m_iFaceIndex, (m_iSide+iDirection)%4 );
        if ( a == 0xffffffff )
            return false;
        m_iFaceIndex = a/4;
        m_iSide = (a%4+2-iDirection)%4;
        return true;
    };
unsigned int Corner ( int  iIndex ) const [inline]

Definition at line 42 of file UVMeshGrid.h.

    {
        return m_pMesh->QuadIndex( m_iFaceIndex, (m_iSide+iIndex)%4 );
    };
unsigned int CornerTCI ( int  iIndex ) [inline]

Definition at line 46 of file UVMeshGrid.h.

    {
        return m_pMesh->QuadTCI( m_iFaceIndex, (m_iSide+iIndex)%4 );
    };
Vector CornerPosition ( int  iIndex ) const [inline]

Definition at line 50 of file UVMeshGrid.h.

    {
        return m_pMesh->QuadVertexPosition( m_iFaceIndex, (m_iSide+iIndex)%4 );
    };
Vector Center ( void  ) const [inline]

Definition at line 54 of file UVMeshGrid.h.

    {
        return (CornerPosition(0)+CornerPosition(1)+CornerPosition(2)+CornerPosition(3))*0.25f;
    };
void TurnRight ( void  ) [inline]

Definition at line 58 of file UVMeshGrid.h.

    {
        m_iSide = (m_iSide+3)%4;
    };
void TurnLeft ( void  ) [inline]

Definition at line 62 of file UVMeshGrid.h.

    {
        m_iSide = (m_iSide+1)%4;
    };
Quad& operator= ( const Quad pOther ) [inline]

Definition at line 66 of file UVMeshGrid.h.

    {
        m_pMesh = pOther.m_pMesh;
        m_iFaceIndex = pOther.m_iFaceIndex;
        m_iSide = pOther.m_iSide;
        return *this;
    };

Member Data Documentation

const Mesh* m_pMesh

Definition at line 72 of file UVMeshGrid.h.

unsigned int m_iFaceIndex

Definition at line 75 of file UVMeshGrid.h.

int m_iSide

Definition at line 76 of file UVMeshGrid.h.


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