File indexing completed on 2026-07-01 08:32:07
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _AIS_CameraFrustum_HeaderFile
0017 #define _AIS_CameraFrustum_HeaderFile
0018
0019 #include <AIS_InteractiveObject.hxx>
0020
0021 class Graphic3d_ArrayOfSegments;
0022 class Graphic3d_ArrayOfTriangles;
0023
0024
0025
0026 class AIS_CameraFrustum : public AIS_InteractiveObject
0027 {
0028 DEFINE_STANDARD_RTTIEXT(AIS_CameraFrustum, AIS_InteractiveObject)
0029 public:
0030
0031 enum SelectionMode
0032 {
0033 SelectionMode_Edges = 0,
0034 SelectionMode_Volume = 1,
0035 };
0036
0037 public:
0038
0039 Standard_EXPORT AIS_CameraFrustum();
0040
0041
0042 Standard_EXPORT void SetCameraFrustum(const Handle(Graphic3d_Camera)& theCamera);
0043
0044
0045 Standard_EXPORT virtual void SetColor(const Quantity_Color& theColor) Standard_OVERRIDE;
0046
0047
0048 Standard_EXPORT virtual void UnsetColor() Standard_OVERRIDE;
0049
0050
0051 Standard_EXPORT virtual void UnsetTransparency() Standard_OVERRIDE;
0052
0053
0054 Standard_EXPORT virtual Standard_Boolean AcceptDisplayMode(const Standard_Integer theMode) const
0055 Standard_OVERRIDE;
0056
0057 protected:
0058
0059 Standard_EXPORT virtual void Compute(const Handle(PrsMgr_PresentationManager)& thePrsMgr,
0060 const Handle(Prs3d_Presentation)& thePrs,
0061 const Standard_Integer theMode) Standard_OVERRIDE;
0062
0063
0064 Standard_EXPORT virtual void ComputeSelection(const Handle(SelectMgr_Selection)& theSelection,
0065 const Standard_Integer theMode) Standard_OVERRIDE;
0066
0067 private:
0068
0069 void fillTriangles();
0070
0071
0072 void fillBorders();
0073
0074 protected:
0075 NCollection_Array1<Graphic3d_Vec3d> myPoints;
0076 Handle(Graphic3d_ArrayOfTriangles) myTriangles;
0077 Handle(Graphic3d_ArrayOfSegments) myBorders;
0078 };
0079
0080 #endif