0023186: Unable to display Graphic3d_ArrayOfPoints after migrating from OCCT 6.5.2
authorsan <san@opencascade.com>
Fri, 22 Jun 2012 07:33:53 +0000 (11:33 +0400)
committersan <san@opencascade.com>
Mon, 25 Jun 2012 07:16:17 +0000 (11:16 +0400)
GL_NONE replaced with PARRAY_DRAW_MODE_NONE to disambiguate with GL_POINTS
DRAW_MODE_NONE constant moved into OpenGl_PrimitiveArray class to avoid potential name collisions

src/OpenGl/OpenGl_PrimitiveArray.cxx
src/OpenGl/OpenGl_PrimitiveArray.hxx

index 1461326..b0dd084 100755 (executable)
@@ -1644,7 +1644,7 @@ void OpenGl_PrimitiveArray::DrawDegeneratesAsBBoxs (const TEL_COLOUR* theEdgeCol
 // =======================================================================
 OpenGl_PrimitiveArray::OpenGl_PrimitiveArray (CALL_DEF_PARRAY* thePArray)
 : myPArray (thePArray),
-  myDrawMode (GL_NONE)
+  myDrawMode (DRAW_MODE_NONE)
 {
   switch (myPArray->type)
   {
@@ -1714,7 +1714,7 @@ OpenGl_PrimitiveArray::~OpenGl_PrimitiveArray ()
 // =======================================================================
 void OpenGl_PrimitiveArray::Render (const Handle(OpenGl_Workspace)& theWorkspace) const
 {
-  if (myPArray == NULL || myDrawMode == GL_NONE)
+  if (myPArray == NULL || myDrawMode == DRAW_MODE_NONE)
     return;
 
   // create VBOs on first render call
index 54a1a26..7336404 100644 (file)
@@ -34,6 +34,13 @@ class Handle(OpenGl_Context);
 class OpenGl_PrimitiveArray : public OpenGl_Element
 {
 public:
+  // OpenGL does not provie a constant for "none" draw mode.
+  // So we define our own one that does not conflict with GL constants
+  // and untilizes common GL invalid value
+  enum
+  {
+    DRAW_MODE_NONE = -1
+  };
 
   //! Default constructor
   OpenGl_PrimitiveArray (CALL_DEF_PARRAY* thePArray);
@@ -91,7 +98,7 @@ private:
 protected:
 
   mutable CALL_DEF_PARRAY* myPArray;
-  GLenum                   myDrawMode;
+  GLint                    myDrawMode;
 
 public: