source: trunk/src/opengl/glu/nurbs/internals/renderhints.cpp

Last change on this file was 2689, checked in by jeroen, 26 years ago

* empty log message *

File size: 3.9 KB
Line 
1/* $Id: renderhints.cpp,v 1.1 2000-02-09 08:50:28 jeroen Exp $ */
2/*
3** License Applicability. Except to the extent portions of this file are
4** made subject to an alternative license as permitted in the SGI Free
5** Software License B, Version 1.0 (the "License"), the contents of this
6** file are subject only to the provisions of the License. You may not use
7** this file except in compliance with the License. You may obtain a copy
8** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
9** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
10**
11** http://oss.sgi.com/projects/FreeB
12**
13** Note that, as provided in the License, the Software is distributed on an
14** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
15** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
16** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
17** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
18**
19** Original Code. The Original Code is: OpenGL Sample Implementation,
20** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
21** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
22** Copyright in any portions created by third parties is as indicated
23** elsewhere herein. All Rights Reserved.
24**
25** Additional Notice Provisions: The application programming interfaces
26** established by SGI in conjunction with the Original Code are The
27** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
28** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
29** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
30** Window System(R) (Version 1.3), released October 19, 1998. This software
31** was created using the OpenGL(R) version 1.2.1 Sample Implementation
32** published by SGI, but has not been independently verified as being
33** compliant with the OpenGL(R) version 1.2.1 Specification.
34*/
35
36/*
37 * renderhints.c++
38 *
39 * $Date: 2000-02-09 08:50:28 $ $Revision: 1.1 $
40 * $Header: /home/ktk/tmp/odin/2007/netlabs.cvs/odin32/src/opengl/glu/nurbs/internals/renderhints.cpp,v 1.1 2000-02-09 08:50:28 jeroen Exp $
41 */
42
43#include "glimports.h"
44#include "mystdio.h"
45#include "renderhints.h"
46#include "defines.h"
47#include "nurbsconsts.h"
48
49
50/*--------------------------------------------------------------------------
51 * Renderhints::Renderhints - set all window specific options
52 *--------------------------------------------------------------------------
53 */
54Renderhints::Renderhints()
55{
56 display_method = N_FILL;
57 errorchecking = N_MSG;
58 subdivisions = 6.0;
59 tmp1 = 0.0;
60}
61
62void
63Renderhints::init( void )
64{
65 maxsubdivisions = (int) subdivisions;
66 if( maxsubdivisions < 0 ) maxsubdivisions = 0;
67
68
69 if( display_method == N_FILL ) {
70 wiretris = 0;
71 wirequads = 0;
72 } else if( display_method == N_OUTLINE_TRI ) {
73 wiretris = 1;
74 wirequads = 0;
75 } else if( display_method == N_OUTLINE_QUAD ) {
76 wiretris = 0;
77 wirequads = 1;
78 } else {
79 wiretris = 1;
80 wirequads = 1;
81 }
82}
83
84int
85Renderhints::isProperty( long property )
86{
87 switch ( property ) {
88 case N_DISPLAY:
89 case N_ERRORCHECKING:
90 case N_SUBDIVISIONS:
91 case N_TMP1:
92 return 1;
93 default:
94 return 0;
95 }
96}
97
98REAL
99Renderhints::getProperty( long property )
100{
101 switch ( property ) {
102 case N_DISPLAY:
103 return display_method;
104 case N_ERRORCHECKING:
105 return errorchecking;
106 case N_SUBDIVISIONS:
107 return subdivisions;
108 case N_TMP1:
109 return tmp1;
110 default:
111 abort();
112 return -1; //not necessary, needed to shut up compiler
113 }
114}
115
116void
117Renderhints::setProperty( long property, REAL value )
118{
119 switch ( property ) {
120 case N_DISPLAY:
121 display_method = value;
122 break;
123 case N_ERRORCHECKING:
124 errorchecking = value;
125 break;
126 case N_SUBDIVISIONS:
127 subdivisions = value;
128 break;
129 case N_TMP1: /* unused */
130 tmp1 = value;
131 break;
132 default:
133 abort();
134 break;
135 }
136}
Note: See TracBrowser for help on using the repository browser.