mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0027611: Visualization - provide an interface to access selection frustum center points from SelectBasics level
- getters for rectangular frustum center points were added to SelectBasics_SelectingVolumeManager
This commit is contained in:
@@ -4140,8 +4140,8 @@ static Standard_Integer OCC26195 (Draw_Interpretor& theDI, Standard_Integer theA
|
|||||||
aMgr->BuildSelectingVolume (aPxPnt1);
|
aMgr->BuildSelectingVolume (aPxPnt1);
|
||||||
}
|
}
|
||||||
const gp_Pnt* aVerts = aMgr->GetVertices();
|
const gp_Pnt* aVerts = aMgr->GetVertices();
|
||||||
gp_Pnt aNearPnt = aMgr->GetNearPnt();
|
gp_Pnt aNearPnt = aMgr->GetNearPickedPnt();
|
||||||
gp_Pnt aFarPnt = aMgr->GetFarPnt();
|
gp_Pnt aFarPnt = aMgr->GetFarPickedPnt();
|
||||||
BRepBuilderAPI_MakePolygon aWireBldrs[4];
|
BRepBuilderAPI_MakePolygon aWireBldrs[4];
|
||||||
|
|
||||||
aWireBldrs[0].Add (gp_Pnt (aVerts[0].X(), aVerts[0].Y(), aVerts[0].Z()));
|
aWireBldrs[0].Add (gp_Pnt (aVerts[0].X(), aVerts[0].Y(), aVerts[0].Z()));
|
||||||
|
@@ -96,6 +96,18 @@ public:
|
|||||||
|
|
||||||
virtual Standard_Boolean IsOverlapAllowed() const = 0;
|
virtual Standard_Boolean IsOverlapAllowed() const = 0;
|
||||||
|
|
||||||
|
//! Valid only for point and rectangular selection.
|
||||||
|
//! Returns projection of 2d mouse picked point or projection
|
||||||
|
//! of center of 2d rectangle (for point and rectangular selection
|
||||||
|
//! correspondingly) onto near view frustum plane
|
||||||
|
virtual gp_Pnt GetNearPickedPnt() const = 0;
|
||||||
|
|
||||||
|
//! Valid only for point and rectangular selection.
|
||||||
|
//! Returns projection of 2d mouse picked point or projection
|
||||||
|
//! of center of 2d rectangle (for point and rectangular selection
|
||||||
|
//! correspondingly) onto far view frustum plane
|
||||||
|
virtual gp_Pnt GetFarPickedPnt() const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
SelectionType myActiveSelectionType; //!< Active selection type: point, box or polyline
|
SelectionType myActiveSelectionType; //!< Active selection type: point, box or polyline
|
||||||
};
|
};
|
||||||
|
@@ -114,9 +114,15 @@ public:
|
|||||||
//! A set of helper functions that return rectangular selecting frustum data
|
//! A set of helper functions that return rectangular selecting frustum data
|
||||||
inline const gp_Pnt* GetVertices() const { return myVertices; }
|
inline const gp_Pnt* GetVertices() const { return myVertices; }
|
||||||
|
|
||||||
inline gp_Pnt GetNearPnt() const { return myNearPickedPnt; }
|
//! Returns projection of 2d mouse picked point or projection
|
||||||
|
//! of center of 2d rectangle (for point and rectangular selection
|
||||||
|
//! correspondingly) onto near view frustum plane
|
||||||
|
inline const gp_Pnt& GetNearPnt() const { return myNearPickedPnt; }
|
||||||
|
|
||||||
inline gp_Pnt GetFarPnt() const { return myFarPickedPnt; }
|
//! Returns projection of 2d mouse picked point or projection
|
||||||
|
//! of center of 2d rectangle (for point and rectangular selection
|
||||||
|
//! correspondingly) onto far view frustum plane
|
||||||
|
inline const gp_Pnt& GetFarPnt() const { return myFarPickedPnt; }
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
Standard_EXPORT void segmentSegmentDistance (const gp_Pnt& theSegPnt1,
|
Standard_EXPORT void segmentSegmentDistance (const gp_Pnt& theSegPnt1,
|
||||||
|
@@ -430,10 +430,10 @@ const gp_Pnt* SelectMgr_SelectingVolumeManager::GetVertices() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// function : GetNearPnt
|
// function : GetNearPickedPnt
|
||||||
// purpose :
|
// purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
gp_Pnt SelectMgr_SelectingVolumeManager::GetNearPnt() const
|
gp_Pnt SelectMgr_SelectingVolumeManager::GetNearPickedPnt() const
|
||||||
{
|
{
|
||||||
if (myActiveSelectionType == Polyline)
|
if (myActiveSelectionType == Polyline)
|
||||||
return gp_Pnt();
|
return gp_Pnt();
|
||||||
@@ -444,10 +444,10 @@ gp_Pnt SelectMgr_SelectingVolumeManager::GetNearPnt() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// function : GetFarPnt
|
// function : GetFarPickedPnt
|
||||||
// purpose :
|
// purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
gp_Pnt SelectMgr_SelectingVolumeManager::GetFarPnt() const
|
gp_Pnt SelectMgr_SelectingVolumeManager::GetFarPickedPnt() const
|
||||||
{
|
{
|
||||||
if (myActiveSelectionType == Polyline)
|
if (myActiveSelectionType == Polyline)
|
||||||
return gp_Pnt();
|
return gp_Pnt();
|
||||||
|
@@ -171,9 +171,17 @@ public:
|
|||||||
//! A set of helper functions that return rectangular selecting frustum data
|
//! A set of helper functions that return rectangular selecting frustum data
|
||||||
Standard_EXPORT const gp_Pnt* GetVertices() const;
|
Standard_EXPORT const gp_Pnt* GetVertices() const;
|
||||||
|
|
||||||
Standard_EXPORT gp_Pnt GetNearPnt() const;
|
//! Valid only for point and rectangular selection.
|
||||||
|
//! Returns projection of 2d mouse picked point or projection
|
||||||
|
//! of center of 2d rectangle (for point and rectangular selection
|
||||||
|
//! correspondingly) onto near view frustum plane
|
||||||
|
Standard_EXPORT virtual gp_Pnt GetNearPickedPnt() const Standard_OVERRIDE;
|
||||||
|
|
||||||
Standard_EXPORT gp_Pnt GetFarPnt() const;
|
//! Valid only for point and rectangular selection.
|
||||||
|
//! Returns projection of 2d mouse picked point or projection
|
||||||
|
//! of center of 2d rectangle (for point and rectangular selection
|
||||||
|
//! correspondingly) onto far view frustum plane
|
||||||
|
Standard_EXPORT virtual gp_Pnt GetFarPickedPnt() const Standard_OVERRIDE;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum { Frustum, FrustumSet, VolumeTypesNb }; //!< Defines the amount of available selecting volumes
|
enum { Frustum, FrustumSet, VolumeTypesNb }; //!< Defines the amount of available selecting volumes
|
||||||
|
Reference in New Issue
Block a user