#include <HierMesh.h>
Inheritance diagram for HierElem:
Public Members | |||
![]() | ![]() | HierElem () | |
![]() | ![]() | virtual | ~HierElem () |
![]() | ![]() | virtual Void | SetParent (HierElem &parent) |
![]() | ![]() | virtual HierElem* | New () |
![]() | ![]() | Bool | HasChildren () |
![]() | ![]() | Void | FreeChildren () |
![]() | ![]() | Void | Draw (Renderer &r) |
![]() | ![]() | virtual Void | DrawLeaf (Renderer &r) |
![]() | ![]() | Void | DrawQuad (Renderer &r, RenderStyle start, Int code, RadElem *mid) |
![]() | ![]() | Void | DrawTri (Renderer &r, RenderStyle start, Int code, RadElem *mid) |
![]() | ![]() | Void | ProjQuad (Renderer &r, RenderStyle start, Int code, RadElem *mid) |
![]() | ![]() | Void | ProjTri (Renderer &r, RenderStyle start, Int code, RadElem *mid) |
![]() | ![]() | Void | Reanimate (RadElem *parent) |
![]() | ![]() | Void | ConnectNeighbours () |
![]() | ![]() | Void | Subdivide () |
![]() | ![]() | Void | SetColour (const Colour &c) |
![]() | ![]() | Void | ColourVertices (Int weights[]) |
![]() | ![]() | Push element radiosities to vertices. | |
![]() | ![]() | RadElem* | FindContainer (Coord &coord) |
![]() | ![]() | Find the elem containing this coord. | |
![]() | ![]() | Void | CreatePatches (PatchList &patches) |
![]() | ![]() | Split Elem into patches s.t. area < maxPatchSize. | |
![]() | ![]() | Void | CreateElements (PatchList &elements, IndexList &eltParents, Int parent) |
![]() | ![]() | GCLReal | RadError () |
![]() | ![]() | Int | CalcMidCode (RadElem *mid) |
![]() | ![]() | Void | CollectLeaves (PatchList &leaves) |
![]() | ![]() | Void | SplitElement (Int &numElems, HierElemPtr subElems[5]) |
![]() | ![]() | Void | CorrectLeaves () |
![]() | ![]() | Void | Print (ostream &s) |
![]() | ![]() | Void | PrintRec (ostream &s) |
![]() | ![]() | virtual Void | PrintSelf (ostream &s) |
![]() | ![]() | Void | Parse (istream &s) |
![]() | ![]() | virtual Void | ParseSelf (istream &s) |
![]() | ![]() | Void | PrintID (ostream &s) |
![]() | ![]() | StrConst | Name () |
![]() | ![]() | GCLReal | MemoryUse () |
![]() | ![]() | HierElem*& | NbFace (Int i) |
![]() | ![]() | HierElem* | child [4] |
![]() | ![]() | HierElem* | parent |
![]() | ![]() | Int | level |
![]() | ![]() | UInt32 | treeCode |
Definition at line 24 of file HierMesh.h.
HierElem::HierElem () |
Definition at line 73 of file HierMesh.cc.
HierElem::~HierElem () [virtual]
|
Definition at line 82 of file HierMesh.cc.
Int HierElem::CalcMidCode (RadElem * mid) |
Definition at line 1086 of file HierMesh.cc.
Void HierElem::CollectLeaves (PatchList & leaves) |
Definition at line 1310 of file HierMesh.cc.
Void HierElem::ColourVertices (Int weights[]) [virtual]
|
Push element radiosities to vertices.
Reimplemented from RadElem.
Definition at line 343 of file HierMesh.cc.
Void HierElem::ConnectNeighbours () |
Definition at line 107 of file HierMesh.cc.
Void HierElem::CorrectLeaves () |
If a mesh is balanced, the elements might not correspond to actual leaf nodes. We must do a pseudo-push to correct for this before t-meshing. This should only be called on *solution* leaves.
Definition at line 1292 of file HierMesh.cc.
Void HierElem::CreateElements (PatchList & elements, IndexList & eltParents, Int parent) |
Definition at line 1039 of file HierMesh.cc.
Void HierElem::CreatePatches (PatchList & patches) [virtual]
|
Split Elem into patches s.t. area < maxPatchSize.
Reimplemented from RadElem.
Reimplemented in HRMeshElem.
Definition at line 1022 of file HierMesh.cc.
Void HierElem::Draw (Renderer & r) [virtual]
|
Reimplemented from RadElem.
Reimplemented in HRMeshElem.
Definition at line 831 of file HierMesh.cc.
Void HierElem::DrawLeaf (Renderer & r) [virtual]
|
Definition at line 771 of file HierMesh.cc.
Void HierElem::DrawQuad (Renderer & r, RenderStyle style, Int code, RadElem * mid) |
Definition at line 490 of file HierMesh.cc.
Void HierElem::DrawTri (Renderer & r, RenderStyle style, Int code, RadElem * mid) |
Definition at line 584 of file HierMesh.cc.
RadElem * HierElem::FindContainer (Coord & coord) [virtual]
|
Find the elem containing this coord.
Reimplemented from RadElem.
Definition at line 930 of file HierMesh.cc.
Void HierElem::FreeChildren () |
Definition at line 97 of file HierMesh.cc.
Bool HierElem::HasChildren () [inline]
|
Definition at line 34 of file HierMesh.h.
GCLReal HierElem::MemoryUse () [virtual]
|
StrConst HierElem::Name () [virtual]
|
HierElem *& HierElem::NbFace (Int i) [inline]
|
Definition at line 82 of file HierMesh.h.
HierElem * HierElem::New () [inline, virtual]
|
Void HierElem::Parse (istream & s) [virtual]
|
Void HierElem::ParseSelf (istream & s) [virtual]
|
Void HierElem::Print (ostream & s) [virtual]
|
Reimplemented from RadElem.
Reimplemented in HaarElem, and HRMeshElem.
Definition at line 890 of file HierMesh.cc.
Void HierElem::PrintID (ostream & s) |
Definition at line 857 of file HierMesh.cc.
Void HierElem::PrintRec (ostream & s) |
Definition at line 870 of file HierMesh.cc.
Void HierElem::PrintSelf (ostream & s) [virtual]
|
Void HierElem::ProjQuad (Renderer & r, RenderStyle style, Int code, RadElem * mid) |
Definition at line 630 of file HierMesh.cc.
Void HierElem::ProjTri (Renderer & r, RenderStyle style, Int code, RadElem * mid) |
Definition at line 724 of file HierMesh.cc.
GCLReal HierElem::RadError () |
Definition at line 987 of file HierMesh.cc.
Void HierElem::Reanimate (RadElem * par) [virtual]
|
Void HierElem::SetColour (const Colour & c) |
Void HierElem::SetParent (HierElem & itsParent) [virtual]
|
Void HierElem::SplitElement (Int & numElems, HierElemPtr subElems[5]) |
Eliminate T-vertices from this triangle by triangulating it. This is normally done on the fly in the drawing code, but we also need to do it when writing out a conformant mesh after calculations.
Definition at line 1138 of file HierMesh.cc.
Void HierElem::Subdivide () |
Definition at line 202 of file HierMesh.cc.
HierElem * HierElem::child[4] |
Definition at line 86 of file HierMesh.h.
Int HierElem::level |
Definition at line 88 of file HierMesh.h.
HierElem * HierElem::parent |
Definition at line 87 of file HierMesh.h.
UInt32 HierElem::treeCode |
Definition at line 89 of file HierMesh.h.