#include <vegetable_instance_group.h>
Inheritance diagram for NL3D::CVegetableInstanceGroup:

Nevrax France
Definition at line 59 of file vegetable_instance_group.h.
UpdateLighting management | |
| void | linkBeforeUL (CVegetableInstanceGroup *igNext) |
| insert this before igNext. | |
| void | unlinkUL () |
| unlink | |
| CVegetableInstanceGroup * | _ULNext |
| insert this before igNext. | |
| uint | _ULNumVertices |
| insert this before igNext. | |
| CVegetableInstanceGroup * | _ULPrec |
| insert this before igNext. | |
Public Member Functions | |
| CVegetableInstanceGroup () | |
| Constructor. | |
| bool | isEmpty () const |
| tells if the instanceGroup has no faces at all. | |
| ~CVegetableInstanceGroup () | |
Data Fields | |
| CTessNodeList * | Next |
| CTessNodeList * | Prec |
| CVegetableLightEx | VegetableLightEx |
Private Attributes | |
| CVegetableClipBlock * | _ClipOwner |
| bool | _HasZSortPassInstances |
| CVegetableRdrPass | _RdrPass [NL3D_VEGETABLE_NRDRPASS] |
| CVegetableSortBlock * | _SortOwner |
| NLMISC::CObjectVector< sint16, false > | _TriangleQuadrantOrderArray |
| uint | _TriangleQuadrantOrderNumTriangles |
| sint16 * | _TriangleQuadrantOrders [NL3D_VEGETABLE_NUM_QUADRANT] |
Friends | |
| class | CVegetableClipBlock |
| class | CVegetableManager |
| class | CVegetableSortBlock |
|
|
Constructor.
Definition at line 36 of file vegetable_instance_group.cpp. References _ClipOwner, _HasZSortPassInstances, _SortOwner, _TriangleQuadrantOrderNumTriangles, and _ULNumVertices.
00037 {
00038 _ClipOwner= NULL;
00039 _SortOwner= NULL;
00040 _HasZSortPassInstances= false;
00041 _TriangleQuadrantOrderNumTriangles= 0;
00042 _ULPrec= this;
00043 _ULNext= this;
00044 _ULNumVertices= 0;
00045 }
|
|
|
Definition at line 49 of file vegetable_instance_group.cpp. References unlinkUL().
00050 {
00051 unlinkUL();
00052 }
|
|
|
tells if the instanceGroup has no faces at all.
Definition at line 90 of file vegetable_instance_group.cpp. References _RdrPass, NL3D_VEGETABLE_NRDRPASS, NL3D::CVegetableInstanceGroup::CVegetableRdrPass::NTriangles, and uint.
00091 {
00092 for(uint i=0; i<NL3D_VEGETABLE_NRDRPASS; i++)
00093 {
00094 const CVegetableRdrPass &vegetRdrPass= _RdrPass[i];
00095 // If some triangles to render, the ig is not empty
00096 if(vegetRdrPass.NTriangles != 0)
00097 return false;
00098 }
00099
00100 // for all pass, no triangles to render => the ig is empty.
00101 return true;
00102 }
|
|
|
insert this before igNext.
Definition at line 56 of file vegetable_instance_group.cpp. References _ULNext, _ULPrec, and nlassert. Referenced by NL3D::CVegetableManager::addInstance().
00057 {
00058 nlassert(igNext);
00059
00060 // first, unlink others from me. NB: works even if _ULPrec==_ULNext==this.
00061 _ULNext->_ULPrec= _ULPrec;
00062 _ULPrec->_ULNext= _ULNext;
00063 // link to igNext.
00064 _ULNext= igNext;
00065 _ULPrec= igNext->_ULPrec;
00066 // link others to me.
00067 _ULNext->_ULPrec= this;
00068 _ULPrec->_ULNext= this;
00069 }
|
|
|
unlink
Definition at line 72 of file vegetable_instance_group.cpp. References _ULNext, and _ULPrec. Referenced by NL3D::CVegetableManager::deleteIg(), and ~CVegetableInstanceGroup().
|
|
|
Definition at line 78 of file vegetable_instance_group.h. |
|
|
Definition at line 77 of file vegetable_instance_group.h. |
|
|
Definition at line 79 of file vegetable_instance_group.h. |
|
|
Definition at line 83 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), NL3D::CVegetableManager::createIg(), CVegetableInstanceGroup(), and NL3D::CVegetableManager::deleteIg(). |
|
|
Definition at line 146 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), CVegetableInstanceGroup(), and NL3D::CVegetableManager::deleteIg(). |
|
|
|
Definition at line 84 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), NL3D::CVegetableManager::createIg(), CVegetableInstanceGroup(), and NL3D::CVegetableManager::deleteIg(). |
|
|
Definition at line 142 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::reserveIgCompile(). |
|
|
Definition at line 143 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), CVegetableInstanceGroup(), and NL3D::CVegetableManager::reserveIgCompile(). |
|
|
Definition at line 144 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), NL3D::CVegetableManager::reserveIgCompile(), and NL3D::CVegetableSortBlock::updateSortBlock(). |
|
|
insert this before igNext.
Definition at line 154 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::deleteIg(), NL3D::CVegetableManager::doUpdateLighting(), linkBeforeUL(), and unlinkUL(). |
|
|
insert this before igNext.
Definition at line 156 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), CVegetableInstanceGroup(), and NL3D::CVegetableManager::deleteIg(). |
|
|
insert this before igNext.
Definition at line 153 of file vegetable_instance_group.h. Referenced by linkBeforeUL(), and unlinkUL(). |
|
|
|
Definition at line 43 of file tess_list.h. Referenced by NL3D::CTessNodeList::CTessNodeList(). |
|
|
The Vegetable Light Information. Contains list of PointLights which influence the vegetIg. NB: PointLights ptrs are kept so the ig must be deleted when the lights are deleted. Definition at line 73 of file vegetable_instance_group.h. Referenced by NL3D::CVegetableManager::addInstance(), NL3D::CPatch::generateTileVegetable(), NL3D::CVegetableManager::updateInstanceLighting(), and NL3D::CVegetableManager::updateLightingIGPart(). |
1.3.6