// Created on: 1996-12-18
// Created by: Robert COUBLANC
// Copyright (c) 1996-1999 Matra Datavision
-// Copyright (c) 1999-2012 OPEN CASCADE SAS
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
-// The content of this file is subject to the Open CASCADE Technology Public
-// License Version 6.5 (the "License"). You may not use the content of this file
-// except in compliance with the License. Please obtain a copy of the License
-// at http://www.opencascade.org and read it completely before using this file.
+// This file is part of Open CASCADE Technology software library.
//
-// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+// This library is free software; you can redistribute it and / or modify it
+// under the terms of the GNU Lesser General Public version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
//
-// The Original Code and all software distributed under the License is
-// distributed on an "AS IS" basis, without warranty of any kind, and the
-// Initial Developer hereby disclaims all such warranties, including without
-// limitation, any warranties of merchantability, fitness for a particular
-// purpose or non-infringement. Please see the License for the specific terms
-// and conditions governing the rights and limitations under the License.
-
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
// Modified : 22/03/04 ; SAN : OCC4895 High-level interface for controlling polygon offsets
// instead a restricted object NameOfColor.
// Add SetCurrentFacingModel() method
-#define G003 //EUG/GG 260100 DEgenerate mode support
-// Add SetDegenerateModel() methods
-
#define IMP020200 //GG Add SetTransformation() method
#define IMP140200 //GG Add HasPresentation() and Presentation() methods
void AIS_InteractiveObject::SetContext(const Handle(AIS_InteractiveContext)& aCtx)
{
myCTXPtr = aCtx.operator->();
+ if( aCtx.IsNull())
+ return;
if (myDrawer.IsNull()) {
myDrawer = new AIS_Drawer;
#ifdef DEB
P->SetInfiniteState(myInfiniteState);}
}
-#ifdef G003
-//=======================================================================
-//function : SetDegenerateModel
-//purpose :
-//=======================================================================
-void AIS_InteractiveObject::SetDegenerateModel(
- const Aspect_TypeOfDegenerateModel aModel,
- const Quantity_Ratio aRatio ) {
- if( !HasColor() && !IsTransparent() && !HasMaterial() ) {
- myDrawer->SetShadingAspect(new Prs3d_ShadingAspect());
- }
-
- myDrawer->ShadingAspect()->Aspect()->SetDegenerateModel(aModel,aRatio);
-
- if(!GetContext().IsNull()){
- if( GetContext()->MainPrsMgr()->HasPresentation(this,1)){
- Handle(Prs3d_Presentation) P =
- GetContext()->MainPrsMgr()->CastPresentation(this,1)->Presentation();
- Handle(Graphic3d_AspectFillArea3d) a4bis =
- myDrawer->ShadingAspect()->Aspect();
- P->SetPrimitivesAspect(a4bis);
- }
- }
-}
-
-//=======================================================================
-//function : DegenerateModel
-//purpose :
-//=======================================================================
-
-Aspect_TypeOfDegenerateModel AIS_InteractiveObject::DegenerateModel(
- Quantity_Ratio& aRatio) const
-{
- return myDrawer->ShadingAspect()->Aspect()->DegenerateModel(aRatio);
-}
-#endif
-
#ifdef IMP020200
//=======================================================================
//function : SetTransformation
//function : SetPolygonOffsets
//purpose :
//=======================================================================
-void AIS_InteractiveObject::SetPolygonOffsets(const Standard_Integer aMode,
- const Standard_Real aFactor,
- const Standard_Real aUnits)
+void AIS_InteractiveObject::SetPolygonOffsets(const Standard_Integer aMode,
+ const Standard_ShortReal aFactor,
+ const Standard_ShortReal aUnits)
{
if ( !HasPolygonOffsets() )
myDrawer->SetShadingAspect(new Prs3d_ShadingAspect());
//function : PolygonOffsets
//purpose :
//=======================================================================
-void AIS_InteractiveObject::PolygonOffsets(Standard_Integer& aMode,
- Standard_Real& aFactor,
- Standard_Real& aUnits) const
+void AIS_InteractiveObject::PolygonOffsets(Standard_Integer& aMode,
+ Standard_ShortReal& aFactor,
+ Standard_ShortReal& aUnits) const
{
if( HasPolygonOffsets() )
myDrawer->ShadingAspect()->Aspect()->PolygonOffsets( aMode, aFactor, aUnits );