OpenGl_Structure::OpenGl_Structure ()
: myTransformation(NULL),
myTransPers(NULL),
- myDegenerateModel(NULL),
myAspectLine(NULL),
myAspectFace(NULL),
myAspectMarker(NULL),
Release (Handle(OpenGl_Context)());
delete myTransformation; myTransformation = NULL;
delete myTransPers; myTransPers = NULL;
- delete myDegenerateModel; myDegenerateModel = NULL;
}
/*----------------------------------------------------------------------*/
/*----------------------------------------------------------------------*/
-void OpenGl_Structure::SetDegenerateModel (const Standard_Integer AMode, const float ASkipRatio)
-{
- if (!myDegenerateModel)
- myDegenerateModel = new DEGENERATION;
-
- myDegenerateModel->mode = AMode;
- myDegenerateModel->skipRatio = ASkipRatio;
-}
-
-/*----------------------------------------------------------------------*/
-
void OpenGl_Structure::SetAspectLine (const CALL_DEF_CONTEXTLINE &AContext)
{
if (!myAspectLine)
trans_pers = AWorkspace->ActiveView()->BeginTransformPersistence( myTransPers );
}
- // Apply degeneration
- if (myDegenerateModel)
- {
- if ( AWorkspace->NamedStatus & OPENGL_NS_DEGENERATION )
- {
- AWorkspace->DegenerateModel = myDegenerateModel->mode;
- switch ( AWorkspace->DegenerateModel )
- {
- case 0: break;
-
- default:
- glLineWidth ( 1.0 );
- glDisable ( GL_LINE_STIPPLE );
-
- case 1:
- AWorkspace->SkipRatio = myDegenerateModel->skipRatio;
- }
- }
- }
-
// Apply aspects
const OpenGl_AspectLine *aspect_line = AWorkspace->AspectLine(Standard_False);
const OpenGl_AspectFace *aspect_face = AWorkspace->AspectFace(Standard_False);