return shapes;
}
-#include <SelectMgr_Selection.hxx>
-#include <SelectMgr_ViewerSelector.hxx>
-#include <SelectMgr_SensitiveEntitySet.hxx>
-#include <BVH_PrimitiveSet.hxx>
-#include <BVH_QueueBuilder.hxx>
-class BVHB_dummy: public BVH_QueueBuilder<double,3>
-{
- BVHB_dummy();
- ~BVHB_dummy();
-public:
- int* getNbThreads() {return &this->myNumOfThreads;}
-};
void HYDROGUI_ShapeBathymetry::UpdateWithColorScale( const Handle(AIS_ColorScale)& theColorScale )
{
if (!myCoords || getAISObjects().isEmpty())
myColors->SetValue( i, aColor );
}
Handle(HYDROGUI_BathymetryPrs) aPntCloud = Handle(HYDROGUI_BathymetryPrs)::DownCast( getAISObjects()[0] );
- //const Handle(SelectMgr_Selection)& sel0 = aPntCloud->Selection(0);
- //const Handle(SelectMgr_SensitiveEntity)& sens = sel0->Sensitive();
aPntCloud->SetPoints( myCoords, myColors );
getContext()->RecomputePrsOnly( aPntCloud, Standard_True );
- Handle(StdSelect_ViewerSelector3d) VS = getContext()->MainSelector();
- Handle(SelectMgr_ViewerSelector) VSD = Handle(SelectMgr_ViewerSelector)::DownCast(VS);
- //size_t VSDsize = sizeof(VSD);
- size_t VSDsize1 = sizeof(SelectMgr_ViewerSelector);
- size_t mapSensSize = sizeof(SelectMgr_MapOfObjectSensitives);
- SelectMgr_MapOfObjectSensitives* mapS = (SelectMgr_MapOfObjectSensitives*)((char*)VSD.get() + (VSDsize1 - mapSensSize));
- try
- {
- mapS->Size();
- NCollection_Handle<SelectMgr_SensitiveEntitySet>& anEntitySet = mapS->ChangeFind (aPntCloud);
- NCollection_Handle<BVH_Builder<double,3>> BVH_Builder = anEntitySet->Builder();
- BVH_QueueBuilder<double,3>* BVH_QB = dynamic_cast<BVH_QueueBuilder<double,3>*>(BVH_Builder.get());
- int* nbt = static_cast<BVHB_dummy*>(BVH_QB)->getNbThreads();
- if (*nbt == 1)
- *nbt = 4;
- }
- catch (...)
- {
-
- }
-
- //getContext()->LocalSelector();
- //aPntCloud->ComputeSelection(sel0, 0);
getContext()->RecomputeSelectionOnly( aPntCloud );
}