Open CASCADE Technology
6.5.4
|
Application Interactive Services provide the means to
create links between an application GUI viewer and
the packages which are used to manage selection
and presentation. The tools AIS defined in order to
do this include different sorts of entities: both the
selectable viewable objects themselves and the
context and attribute managers to define their
selection and display.
To orient the user as he works in a modeling
environment, views and selections must be
comprehensible. There must be several different sorts
of selectable and viewable object defined. These must
also be interactive, that is, connecting graphic
representation and the underlying reference
geometry. These entities are called Interactive
Objects, and are divided into four types:
More...
#include <AIS.hxx>
Static Public Member Functions | |
static DEFINE_STANDARD_ALLOC gp_Pnt | Nearest (const TopoDS_Shape &aShape, const gp_Pnt &aPoint) |
Returns the nearest point in a shape. This is used by several classes in calculation of dimensions. | |
static gp_Pnt | Farest (const TopoDS_Shape &aShape, const gp_Pnt &aPoint) |
static Standard_Boolean | ComputeGeometry (const TopoDS_Edge &anEdge, Handle< Geom_Curve > &aCurve, gp_Pnt &FirstPnt, gp_Pnt &LastPnt) |
Used by 2d Relation only Computes the 3d geometry of <anEdge> in the current WorkingPlane and the extremities if any Return TRUE if ok | |
static Standard_Boolean | ComputeGeometry (const TopoDS_Edge &anEdge, Handle< Geom_Curve > &aCurve, gp_Pnt &FirstPnt, gp_Pnt &LastPnt, Handle< Geom_Curve > &extCurve, Standard_Boolean &isinfinite, Standard_Boolean &isOnPlane, const Handle< Geom_Plane > &aPlane) |
Used by 2d Relation only Computes the 3d geometry of <anEdge> in the current WorkingPlane and the extremities if any. If <aCurve> is not in the current plane, <extCurve> contains the not projected curve associated to <anEdge>. If <anEdge> is infinite, <isinfinite> = true and the 2 parameters <FirstPnt> and <LastPnt> have no signification. Return TRUE if ok | |
static Standard_Boolean | ComputeGeometry (const TopoDS_Edge &anEdge1, const TopoDS_Edge &anEdge2, Handle< Geom_Curve > &aCurve1, Handle< Geom_Curve > &aCurve2, gp_Pnt &FirstPnt1, gp_Pnt &LastPnt1, gp_Pnt &FirstPnt2, gp_Pnt &LastPnt2, const Handle< Geom_Plane > &aPlane) |
Used by 2d Relation only Computes the 3d geometry of <anEdge> in the current WorkingPlane and the extremities if any Return TRUE if ok | |
static Standard_Boolean | ComputeGeometry (const TopoDS_Edge &anEdge1, const TopoDS_Edge &anEdge2, Standard_Integer &indexExt, Handle< Geom_Curve > &aCurve1, Handle< Geom_Curve > &aCurve2, gp_Pnt &FirstPnt1, gp_Pnt &LastPnt1, gp_Pnt &FirstPnt2, gp_Pnt &LastPnt2, Handle< Geom_Curve > &ExtCurve, Standard_Boolean &isinfinite1, Standard_Boolean &isinfinite2, const Handle< Geom_Plane > &aPlane) |
Used by 2d Relation only Computes the 3d geometry of<anEdge1> and <anEdge2> in the current Plane and the extremities if any. Return in ExtCurve the 3d curve (not projected in the plane) of the first edge if <indexExt> =1 or of the 2nd edge if <indexExt> = 2. If <indexExt> = 0, ExtCurve is Null. if there is an edge external to the plane, <isinfinite> is true if this edge is infinite. So, the extremities of it are not significant. Return TRUE if ok | |
static Standard_Boolean | ComputeGeomCurve (Handle< Geom_Curve > &aCurve, const Standard_Real first1, const Standard_Real last1, gp_Pnt &FirstPnt1, gp_Pnt &LastPnt1, const Handle< Geom_Plane > &aPlane, Standard_Boolean &isOnPlane) |
Checks if aCurve belongs to aPlane; if not, projects aCurve in aPlane and returns aCurve; Return TRUE if ok | |
static Standard_Boolean | ComputeGeometry (const TopoDS_Vertex &aVertex, gp_Pnt &point, const Handle< Geom_Plane > &aPlane, Standard_Boolean &isOnPlane) |
static Standard_Boolean | GetPlaneFromFace (const TopoDS_Face &aFace, gp_Pln &aPlane, Handle< Geom_Surface > &aSurf, AIS_KindOfSurface &aSurfType, Standard_Real &Offset) |
Tryes to get Plane from Face. Returns Surface of Face in aSurf. Returns Standard_True and Plane of Face in aPlane in following cases: Face is Plane, Offset of Plane, Extrusion of Line and Offset of Extrusion of Line Returns pure type of Surface which can be: Plane, Cylinder, Cone, Sphere, Torus, SurfaceOfRevolution, SurfaceOfExtrusion | |
static void | InitFaceLength (const TopoDS_Face &aFace, gp_Pln &aPlane, Handle< Geom_Surface > &aSurface, AIS_KindOfSurface &aSurfaceType, Standard_Real &anOffset) |
static void | ComputeLengthBetweenPlanarFaces (const TopoDS_Face &FirstFace, const TopoDS_Face &SecondFace, const gp_Pln &Plane1, const gp_Pln &Plane2, Standard_Real &Value, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Dir &DirAttach, const Standard_Boolean AutomaticPos, gp_Pnt &Position) |
static void | ComputeLengthBetweenCurvilinearFaces (const TopoDS_Face &FirstFace, const TopoDS_Face &SecondFace, Handle< Geom_Surface > &FirstSurf, Handle< Geom_Surface > &SecondSurf, const Standard_Boolean AutomaticPos, Standard_Real &Value, gp_Pnt &Position, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Dir &DirAttach) |
static void | ComputeAngleBetweenPlanarFaces (const TopoDS_Face &FirstFace, const TopoDS_Face &SecondFace, const Handle< Geom_Surface > &Surf2, const gp_Ax1 &Axis, const Standard_Real Value, const Standard_Boolean AutomaticPos, gp_Pnt &Position, gp_Pnt &Center, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Dir &FirstDir, gp_Dir &SecondDir) |
Computes geometric parameters for planar faces for Angular dimensions | |
static void | ComputeAngleBetweenCurvilinearFaces (const TopoDS_Face &FirstFace, const TopoDS_Face &SecondFace, const Handle< Geom_Surface > &FirstSurf, const Handle< Geom_Surface > &SecondSurf, const AIS_KindOfSurface FirstSurfType, const AIS_KindOfSurface SecondSurfType, const gp_Ax1 &Axis, const Standard_Real Value, const Standard_Boolean AutomaticPos, gp_Pnt &Position, gp_Pnt &Center, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Dir &FirstDir, gp_Dir &SecondDir, Handle< Geom_Plane > &Plane) |
Computes geometric parameters for curvilinear faces for Angular dimensions | |
static gp_Pnt | ProjectPointOnPlane (const gp_Pnt &aPoint, const gp_Pln &aPlane) |
static gp_Pnt | ProjectPointOnLine (const gp_Pnt &aPoint, const gp_Lin &aLine) |
static gp_Pnt | TranslatePointToBound (const gp_Pnt &aPoint, const gp_Dir &aDir, const Bnd_Box &aBndBox) |
static Standard_Boolean | InDomain (const Standard_Real aFirstPar, const Standard_Real aLastPar, const Standard_Real anAttachPar) |
returns True if point with anAttachPar is in domain of arc | |
static gp_Pnt | NearestApex (const gp_Elips &elips, const gp_Pnt &pApex, const gp_Pnt &nApex, const Standard_Real fpara, const Standard_Real lpara, Standard_Boolean &IsInDomain) |
computes nearest to ellipse arc apex | |
static Standard_Real | DistanceFromApex (const gp_Elips &elips, const gp_Pnt &Apex, const Standard_Real par) |
computes length of ellipse arc in parametric units | |
static void | ComputeProjEdgePresentation (const Handle< Prs3d_Presentation > &aPres, const Handle< AIS_Drawer > &aDrawer, const TopoDS_Edge &anEdge, const Handle< Geom_Curve > &ProjCurve, const gp_Pnt &FirstP, const gp_Pnt &LastP, const Quantity_NameOfColor aColor=Quantity_NOC_PURPLE, const Standard_Real aWidth=2, const Aspect_TypeOfLine aProjTOL=Aspect_TOL_DASH, const Aspect_TypeOfLine aCallTOL=Aspect_TOL_DOT) |
static void | ComputeProjVertexPresentation (const Handle< Prs3d_Presentation > &aPres, const Handle< AIS_Drawer > &aDrawer, const TopoDS_Vertex &aVertex, const gp_Pnt &ProjPoint, const Quantity_NameOfColor aColor=Quantity_NOC_PURPLE, const Standard_Real aWidth=2, const Aspect_TypeOfMarker aProjTOM=Aspect_TOM_PLUS, const Aspect_TypeOfLine aCallTOL=Aspect_TOL_DOT) |
static void AIS::ComputeAngleBetweenCurvilinearFaces | ( | const TopoDS_Face & | FirstFace, |
const TopoDS_Face & | SecondFace, | ||
const Handle< Geom_Surface > & | FirstSurf, | ||
const Handle< Geom_Surface > & | SecondSurf, | ||
const AIS_KindOfSurface | FirstSurfType, | ||
const AIS_KindOfSurface | SecondSurfType, | ||
const gp_Ax1 & | Axis, | ||
const Standard_Real | Value, | ||
const Standard_Boolean | AutomaticPos, | ||
gp_Pnt & | Position, | ||
gp_Pnt & | Center, | ||
gp_Pnt & | FirstAttach, | ||
gp_Pnt & | SecondAttach, | ||
gp_Dir & | FirstDir, | ||
gp_Dir & | SecondDir, | ||
Handle< Geom_Plane > & | Plane | ||
) | [static] |
static void AIS::ComputeAngleBetweenPlanarFaces | ( | const TopoDS_Face & | FirstFace, |
const TopoDS_Face & | SecondFace, | ||
const Handle< Geom_Surface > & | Surf2, | ||
const gp_Ax1 & | Axis, | ||
const Standard_Real | Value, | ||
const Standard_Boolean | AutomaticPos, | ||
gp_Pnt & | Position, | ||
gp_Pnt & | Center, | ||
gp_Pnt & | FirstAttach, | ||
gp_Pnt & | SecondAttach, | ||
gp_Dir & | FirstDir, | ||
gp_Dir & | SecondDir | ||
) | [static] |
static Standard_Boolean AIS::ComputeGeomCurve | ( | Handle< Geom_Curve > & | aCurve, |
const Standard_Real | first1, | ||
const Standard_Real | last1, | ||
gp_Pnt & | FirstPnt1, | ||
gp_Pnt & | LastPnt1, | ||
const Handle< Geom_Plane > & | aPlane, | ||
Standard_Boolean & | isOnPlane | ||
) | [static] |
static Standard_Boolean AIS::ComputeGeometry | ( | const TopoDS_Edge & | anEdge, |
Handle< Geom_Curve > & | aCurve, | ||
gp_Pnt & | FirstPnt, | ||
gp_Pnt & | LastPnt | ||
) | [static] |
static Standard_Boolean AIS::ComputeGeometry | ( | const TopoDS_Edge & | anEdge, |
Handle< Geom_Curve > & | aCurve, | ||
gp_Pnt & | FirstPnt, | ||
gp_Pnt & | LastPnt, | ||
Handle< Geom_Curve > & | extCurve, | ||
Standard_Boolean & | isinfinite, | ||
Standard_Boolean & | isOnPlane, | ||
const Handle< Geom_Plane > & | aPlane | ||
) | [static] |
static Standard_Boolean AIS::ComputeGeometry | ( | const TopoDS_Edge & | anEdge1, |
const TopoDS_Edge & | anEdge2, | ||
Handle< Geom_Curve > & | aCurve1, | ||
Handle< Geom_Curve > & | aCurve2, | ||
gp_Pnt & | FirstPnt1, | ||
gp_Pnt & | LastPnt1, | ||
gp_Pnt & | FirstPnt2, | ||
gp_Pnt & | LastPnt2, | ||
const Handle< Geom_Plane > & | aPlane | ||
) | [static] |
static Standard_Boolean AIS::ComputeGeometry | ( | const TopoDS_Edge & | anEdge1, |
const TopoDS_Edge & | anEdge2, | ||
Standard_Integer & | indexExt, | ||
Handle< Geom_Curve > & | aCurve1, | ||
Handle< Geom_Curve > & | aCurve2, | ||
gp_Pnt & | FirstPnt1, | ||
gp_Pnt & | LastPnt1, | ||
gp_Pnt & | FirstPnt2, | ||
gp_Pnt & | LastPnt2, | ||
Handle< Geom_Curve > & | ExtCurve, | ||
Standard_Boolean & | isinfinite1, | ||
Standard_Boolean & | isinfinite2, | ||
const Handle< Geom_Plane > & | aPlane | ||
) | [static] |
static Standard_Boolean AIS::ComputeGeometry | ( | const TopoDS_Vertex & | aVertex, |
gp_Pnt & | point, | ||
const Handle< Geom_Plane > & | aPlane, | ||
Standard_Boolean & | isOnPlane | ||
) | [static] |
static void AIS::ComputeLengthBetweenCurvilinearFaces | ( | const TopoDS_Face & | FirstFace, |
const TopoDS_Face & | SecondFace, | ||
Handle< Geom_Surface > & | FirstSurf, | ||
Handle< Geom_Surface > & | SecondSurf, | ||
const Standard_Boolean | AutomaticPos, | ||
Standard_Real & | Value, | ||
gp_Pnt & | Position, | ||
gp_Pnt & | FirstAttach, | ||
gp_Pnt & | SecondAttach, | ||
gp_Dir & | DirAttach | ||
) | [static] |
static void AIS::ComputeLengthBetweenPlanarFaces | ( | const TopoDS_Face & | FirstFace, |
const TopoDS_Face & | SecondFace, | ||
const gp_Pln & | Plane1, | ||
const gp_Pln & | Plane2, | ||
Standard_Real & | Value, | ||
gp_Pnt & | FirstAttach, | ||
gp_Pnt & | SecondAttach, | ||
gp_Dir & | DirAttach, | ||
const Standard_Boolean | AutomaticPos, | ||
gp_Pnt & | Position | ||
) | [static] |
static void AIS::ComputeProjEdgePresentation | ( | const Handle< Prs3d_Presentation > & | aPres, |
const Handle< AIS_Drawer > & | aDrawer, | ||
const TopoDS_Edge & | anEdge, | ||
const Handle< Geom_Curve > & | ProjCurve, | ||
const gp_Pnt & | FirstP, | ||
const gp_Pnt & | LastP, | ||
const Quantity_NameOfColor | aColor = Quantity_NOC_PURPLE , |
||
const Standard_Real | aWidth = 2 , |
||
const Aspect_TypeOfLine | aProjTOL = Aspect_TOL_DASH , |
||
const Aspect_TypeOfLine | aCallTOL = Aspect_TOL_DOT |
||
) | [static] |
static void AIS::ComputeProjVertexPresentation | ( | const Handle< Prs3d_Presentation > & | aPres, |
const Handle< AIS_Drawer > & | aDrawer, | ||
const TopoDS_Vertex & | aVertex, | ||
const gp_Pnt & | ProjPoint, | ||
const Quantity_NameOfColor | aColor = Quantity_NOC_PURPLE , |
||
const Standard_Real | aWidth = 2 , |
||
const Aspect_TypeOfMarker | aProjTOM = Aspect_TOM_PLUS , |
||
const Aspect_TypeOfLine | aCallTOL = Aspect_TOL_DOT |
||
) | [static] |
static Standard_Real AIS::DistanceFromApex | ( | const gp_Elips & | elips, |
const gp_Pnt & | Apex, | ||
const Standard_Real | par | ||
) | [static] |
static gp_Pnt AIS::Farest | ( | const TopoDS_Shape & | aShape, |
const gp_Pnt & | aPoint | ||
) | [static] |
static Standard_Boolean AIS::GetPlaneFromFace | ( | const TopoDS_Face & | aFace, |
gp_Pln & | aPlane, | ||
Handle< Geom_Surface > & | aSurf, | ||
AIS_KindOfSurface & | aSurfType, | ||
Standard_Real & | Offset | ||
) | [static] |
static Standard_Boolean AIS::InDomain | ( | const Standard_Real | aFirstPar, |
const Standard_Real | aLastPar, | ||
const Standard_Real | anAttachPar | ||
) | [static] |
static void AIS::InitFaceLength | ( | const TopoDS_Face & | aFace, |
gp_Pln & | aPlane, | ||
Handle< Geom_Surface > & | aSurface, | ||
AIS_KindOfSurface & | aSurfaceType, | ||
Standard_Real & | anOffset | ||
) | [static] |
static DEFINE_STANDARD_ALLOC gp_Pnt AIS::Nearest | ( | const TopoDS_Shape & | aShape, |
const gp_Pnt & | aPoint | ||
) | [static] |
static gp_Pnt AIS::NearestApex | ( | const gp_Elips & | elips, |
const gp_Pnt & | pApex, | ||
const gp_Pnt & | nApex, | ||
const Standard_Real | fpara, | ||
const Standard_Real | lpara, | ||
Standard_Boolean & | IsInDomain | ||
) | [static] |
static gp_Pnt AIS::TranslatePointToBound | ( | const gp_Pnt & | aPoint, |
const gp_Dir & | aDir, | ||
const Bnd_Box & | aBndBox | ||
) | [static] |