mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024131: TKOpenGL redesign GPU memory management for markers presentation
Introduce Point Sprites usage. Graphic3d_Group - drop Marker(),MarkerSet() methods - markers should be drawn using AddPrimitiveArray. Added new Draw Harness commands vcaps, vmarkerstest.
This commit is contained in:
@@ -549,16 +549,16 @@ is
|
||||
enumeration TypeOfMarker is TOM_POINT,
|
||||
TOM_PLUS,
|
||||
TOM_STAR,
|
||||
TOM_O,
|
||||
TOM_X,
|
||||
TOM_O,
|
||||
TOM_O_POINT,
|
||||
TOM_O_PLUS,
|
||||
TOM_O_STAR,
|
||||
TOM_O_X,
|
||||
TOM_BALL,
|
||||
TOM_RING1,
|
||||
TOM_RING2,
|
||||
TOM_RING3,
|
||||
TOM_BALL,
|
||||
TOM_USERDEFINED
|
||||
end TypeOfMarker;
|
||||
---Purpose: Definition of types of markers
|
||||
@@ -566,16 +566,16 @@ is
|
||||
-- TOM_POINT point .
|
||||
-- TOM_PLUS plus +
|
||||
-- TOM_STAR star *
|
||||
-- TOM_O circle O
|
||||
-- TOM_X cross x
|
||||
-- TOM_O circle O
|
||||
-- TOM_O_POINT a point in a circle
|
||||
-- TOM_O_PLUS a plus in a circle
|
||||
-- TOM_O_STAR a star in a circle
|
||||
-- TOM_O_X a cross in a circle
|
||||
-- TOM_BALL a ball with 1 color and different saturations
|
||||
-- TOM_RING1 a large ring
|
||||
-- TOM_RING2 a medium ring
|
||||
-- TOM_RING3 a small ring
|
||||
-- TOM_BALL a ball with 1 color and different saturations
|
||||
-- TOM_USERDEFINED defined by Users
|
||||
--
|
||||
---Category: Enumerations
|
||||
|
@@ -456,33 +456,6 @@ void Aspect_MarkerStyle::SetPredefinedStyle() {
|
||||
MySpoint->SetValue(i+4,TRUE);
|
||||
}
|
||||
break ;
|
||||
case Aspect_TOM_BALL :
|
||||
MyXpoint = new TShort_HArray1OfShortReal(1,
|
||||
MAX_BALL_LINE*(MAX_O_POINT+1)) ;
|
||||
MyYpoint = new TShort_HArray1OfShortReal(1,
|
||||
MAX_BALL_LINE*(MAX_O_POINT+1)) ;
|
||||
MySpoint = new TColStd_HArray1OfBoolean(1,
|
||||
MAX_BALL_LINE*(MAX_O_POINT+1)) ;
|
||||
|
||||
{ Standard_Integer i,j,n = 0;
|
||||
Standard_Real da = 2. * M_PI / MAX_O_POINT;
|
||||
Standard_Real dr = 1./MAX_BALL_LINE;
|
||||
Standard_Real a,r = 1.;
|
||||
|
||||
for( i=1 ; i<= MAX_BALL_LINE ; i++ ) {
|
||||
a = 0.;
|
||||
for( j=1 ; j<= MAX_O_POINT+1 ; j++,a += da ) {
|
||||
n++;
|
||||
MyXpoint->SetValue(n,(float )( r*Cos(a)));
|
||||
MyYpoint->SetValue(n,(float )( r*Sin(a)));
|
||||
MySpoint->SetValue(n,(j > 1) ? TRUE : FALSE);
|
||||
}
|
||||
MyXpoint->SetValue(n,(float ) r);
|
||||
MyYpoint->SetValue(n,0.);
|
||||
r -= dr;
|
||||
}
|
||||
}
|
||||
break ;
|
||||
case Aspect_TOM_RING1 :
|
||||
MyXpoint = new TShort_HArray1OfShortReal(1,
|
||||
(MAX_BALL_LINE/4)*(MAX_O_POINT+1)) ;
|
||||
|
Reference in New Issue
Block a user