MCPcopy Create free account
hub / github.com/BZFlag-Dev/bzflag / getNextNode

Method getNextNode

src/obstacle/BoxSceneNodeGenerator.cpp:31–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31WallSceneNode* BoxSceneNodeGenerator::getNextNode(
32 float uRepeats, float vRepeats, bool lod) {
33 if (getNodeNumber() == 6) { return NULL; }
34
35 fvec3 base, sCorner, tCorner;
36 switch (incNodeNumber()) {
37 case 1:
38 box->getCorner(0, base);
39 box->getCorner(1, sCorner);
40 box->getCorner(4, tCorner);
41 break;
42 case 2:
43 box->getCorner(1, base);
44 box->getCorner(2, sCorner);
45 box->getCorner(5, tCorner);
46 break;
47 case 3:
48 box->getCorner(2, base);
49 box->getCorner(3, sCorner);
50 box->getCorner(6, tCorner);
51 break;
52 case 4:
53 box->getCorner(3, base);
54 box->getCorner(0, sCorner);
55 box->getCorner(7, tCorner);
56 break;
57 case 5: //This is the top polygon
58 box->getCorner(4, base);
59 box->getCorner(5, sCorner);
60 box->getCorner(7, tCorner);
61 break;
62 case 6: //This is the bottom polygon
63 //Don't generate the bottom polygon if on the ground (or lower)
64 if (box->getPosition().z > 0.0f) {
65 box->getCorner(0, base);
66 box->getCorner(3, sCorner);
67 box->getCorner(1, tCorner);
68 }
69 else {
70 return NULL;
71 }
72 break;
73 }
74
75 const fvec3 sEdge = sCorner - base;
76 const fvec3 tEdge = tCorner - base;
77
78 return new QuadWallSceneNode(base, sEdge, tEdge, uRepeats, vRepeats, lod);
79}
80
81// Local Variables: ***
82// mode: C++ ***

Callers 5

addWallMethod · 0.45
addMeshMethod · 0.45
addBoxMethod · 0.45
addPyramidMethod · 0.45
addBaseMethod · 0.45

Calls 2

getCornerMethod · 0.45
getPositionMethod · 0.45

Tested by

no test coverage detected