Changeset 325 for trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellBsp.h
- Timestamp:
- 10/13/05 13:10:21 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellBsp.h
r322 r325 234 234 /// the view cell associated with this subdivsion 235 235 ViewCell *mViewCell; 236 236 /// rays piercing this node 237 RayContainer *mRays; 238 237 239 BspTraversalData(): 238 240 mNode(NULL), 239 241 mPolygons(NULL), 240 242 mDepth(0), 241 mViewCell(NULL) 243 mViewCell(NULL), 244 mRays(NULL) 242 245 {} 243 246 … … 245 248 PolygonContainer *polys, 246 249 const int depth, 247 ViewCell *viewCell): 250 ViewCell *viewCell, 251 RayContainer *rays = NULL): 248 252 mNode(node), 249 253 mPolygons(polys), 250 254 mDepth(depth), 251 mViewCell(viewCell) 255 mViewCell(viewCell), 256 mRays(rays) 252 257 {} 253 258 }; … … 353 358 */ 354 359 float SplitPlaneCost(PolygonContainer &polys, 355 const Plane3 &candidatePlane); 360 const Plane3 &candidatePlane, 361 const RayContainer &rays); 356 362 357 363 /** Evaluates tree stats in the BSP tree leafs. … … 369 375 @param leaf the leaf to be split 370 376 @param polys the polygon list on which the split decition is based 371 @Returns the split plane 377 @param rays ray container on which selection may be based 378 Returns the split plane 372 379 */ 373 380 Plane3 SelectPlane(BspLeaf *leaf, 374 PolygonContainer &polys); 381 PolygonContainer &polys, 382 const RayContainer &ray); 375 383 376 384 /** Filters next view cell down the tree and inserts it into the appropriate leaves … … 390 398 @param backPolys returns the polygons in the back of the split plane 391 399 @param coincident returns the polygons coincident to the split plane 400 @param rays ray container used to guide the split process 392 401 @returns the root of the subdivision 393 402 */ … … 396 405 PolygonContainer &frontPolys, 397 406 PolygonContainer &backPolys, 398 PolygonContainer &coincident); 407 PolygonContainer &coincident, 408 const RayContainer &rays); 399 409 400 410 /** Filters polygons down the tree. … … 413 423 2.5d aligned) 414 424 @param polygons container of polygons 425 @param rays bundle of rays on which the split can be based 415 426 @param maxTests the maximal number of candidate tests 416 427 */ 417 428 Plane3 SelectPlaneHeuristics(PolygonContainer &polys, 418 const int maxTests); 429 const RayContainer &rays, 430 const int maxTests); 419 431 420 432 /** Extracts the meshes of the objects and adds them to polygons. … … 490 502 vector<SortableEntry> &splitCandidates) const; 491 503 504 /** Splits the rays into front and back rays according to split plane 505 @param rays contains the rays to be split. The rays are 506 distributed to front and back rays. 507 @param frontRays returns rays on the front side of the plane 508 @param backRays returns rays on the back side of the plane 509 */ 510 void BspTree::SplitRays(const Plane3 plane, 511 RayContainer &rays, 512 RayContainer &frontRays, 513 RayContainer &backRays); 514 492 515 /// Pointer to the root of the tree 493 516 BspNode *mRoot;
Note: See TracChangeset
for help on using the changeset viewer.