Changeset 2709 for GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp
- Timestamp:
- 05/26/08 01:05:56 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp
r2708 r2709 58 58 mGlobalLinesRenderer(NULL), 59 59 mUseHwGlobalLines(false), 60 mTotalRaysCast(0) 60 mTotalRaysCast(0), 61 mSynchronize(false) 61 62 { 62 63 Environment::GetSingleton()->GetBoolValue("Preprocessor.useGlRenderer", mUseGlRenderer); … … 665 666 // load scene objects which are the entities used as pvs entries 666 667 ObjectContainer pvsObjects; 667 if ( 0) LoadObjects(buf, pvsObjects, mObjects);668 if (1) LoadObjects(buf, pvsObjects, mObjects); 668 669 669 670 const bool finalizeViewCells = true; … … 746 747 747 748 mViewCellsManager->SetRenderer(mRenderSimulator); 748 749 749 mViewCellsManager->SetPreprocessor(this); 750 750 … … 838 838 839 839 Vector3 origin, termination; 840 // HACK: needed only for lower_bound algorithm to find the 841 // intersected objects 840 // HACK: needed only for lower_bound algorithm to find the intersected objects 842 841 MeshInstance sObj(NULL); 843 842 MeshInstance tObj(NULL); … … 1452 1451 Preprocessor::ComputeRenderError() 1453 1452 { 1454 // compute rendering error 1455 1453 // compute rendering error 1456 1454 if (renderer && renderer->mPvsStatFrames) { 1457 1455 … … 1596 1594 mDynamicObjects.push_back(leaf); 1597 1595 1598 // add to scene graph 1599 mSceneGraph->GetRoot()->mChildren.push_back(leaf); 1600 1601 if (mRayCaster) 1602 mRayCaster->AddDynamicObjecs(leaf->mGeometry, leaf->GetTransformation()); 1596 // tell ray caster to update 1597 ScheduleUpdateDynamicObjects(); 1598 1599 if (0) 1600 { 1601 // add to scene graph 1602 mSceneGraph->GetRoot()->mChildren.push_back(leaf); 1603 // add to ray caster 1604 if (mRayCaster) 1605 mRayCaster->AddDynamicObjecs(leaf->mGeometry, leaf->GetTransformation()); 1606 } 1603 1607 // $$ JB in order to compile 1604 1608 //return leaf; … … 1646 1650 1647 1651 leaf->UpdateBox(); 1652 1653 float offs = -leaf->GetOriginalBox().Min().y; 1654 1655 // scale so pivot is always on bottom 1656 for (it = leaf->mGeometry.begin(); it != it_end; ++ it) 1657 { 1658 TriangleIntersectable *tri = static_cast<TriangleIntersectable *>(*it); 1659 1660 Triangle3 t = tri->GetItem(); 1661 1662 // hack: scale object appropriately 1663 t.mVertices[0].y += offs; 1664 t.mVertices[1].y += offs; 1665 t.mVertices[2].y += offs; 1666 1667 tri->SetItem(t); 1668 } 1669 1670 leaf->UpdateBox(); 1671 1672 1648 1673 cout<<"Dynamic object loaded successfully: " << leaf->GetBox() << endl; 1649 1674 … … 1709 1734 1710 1735 1736 void Preprocessor::ObjectRemoved(SceneGraphLeaf *leaf) 1737 { 1738 ObjectMoved(leaf); 1739 } 1740 1741 1711 1742 void Preprocessor::UpdateDynamicObjects() 1712 1743 { … … 1716 1747 preprocessor->mRayCaster->DeleteDynamicObjects(); 1717 1748 1718 for (size_t i =0; i < mDynamicObjects.size(); ++ i)1749 for (size_t i = 0; i < mDynamicObjects.size(); ++ i) 1719 1750 { 1720 1751 SceneGraphLeaf *l = mDynamicObjects[i]; 1721 1722 cout<<"Updating dynamic objects in ray caster..."<<endl;1723 1724 mRayCaster->AddDynamicObjecs(l->mGeometry, l->GetTransformation());1725 1726 cout<<"done."<<endl;1727 1728 cerr<<"Updating affected PVSs..."<<endl;1729 preprocessor->ObjectMoved(l);1730 cerr<<"done."<<endl;1752 1753 UpdateObjectInRayCaster(l); 1754 1755 if (l->HasChanged()) 1756 { 1757 cout<<"Updating affected PVSs..."<<endl; 1758 preprocessor->ObjectMoved(l); 1759 cout<<"done."<<endl; 1760 l->SetHasChanged(false); 1761 } 1731 1762 } 1732 1763 1733 1764 mUpdateDynamicObjects = false; 1734 1735 1765 } 1736 1766 } … … 1739 1769 void Preprocessor::ScheduleUpdateDynamicObjects() 1740 1770 { 1741 mUpdateDynamicObjects = true; 1742 } 1743 1744 1745 } 1771 mUpdateDynamicObjects = true; 1772 } 1773 1774 1775 void Preprocessor::UpdateObjectInRayCaster(SceneGraphLeaf *l) 1776 { 1777 cout<<"Updating dynamic objects in ray caster..."<<endl; 1778 1779 mRayCaster->AddDynamicObjecs(l->mGeometry, l->GetTransformation()); 1780 cout<<"done."<<endl; 1781 } 1782 1783 }
Note: See TracChangeset
for help on using the changeset viewer.