COVISE Core
coDoGeometry.h
Go to the documentation of this file.
1/* This file is part of COVISE.
2
3 You can use it under the terms of the GNU Lesser General Public License
4 version 2.1 or later, see lgpl-2.1.txt.
5
6 * License: LGPL 2+ */
7
8#ifndef CO_DO_GEOMETRY_H
9#define CO_DO_GEOMETRY_H
10
11/*
12 $Log: covise_geometry.h,v $
13 * Revision 1.1 1993/09/25 20:44:13 zrhk0125
14 * Initial revision
15 *
16*/
17
18#include "coDistributedObject.h"
19
20/***********************************************************************\
21 ** **
22 ** Geometry class Version: 1.0 **
23 ** **
24 ** **
25 ** Description : Classes for the handling of Geometry for the **
26 ** renderer **
27 ** **
28 ** Classes : **
29 ** **
30 ** Copyright (C) 1993 by University of Stuttgart **
31 ** Computer Center (RUS) **
32 ** Allmandring 30 **
33 ** 7000 Stuttgart 80 **
34 ** **
35 ** **
36 ** Author : A. Wierse (RUS) **
37 ** **
38 ** History : **
39 ** 12.08.93 Ver 1.0 **
40 ** **
41 ** **
42\***********************************************************************/
43namespace covise
44{
45
47{
48 friend class coDoInitializer;
49 static coDistributedObject *virtualCtor(coShmArray *arr);
50
51public:
52 enum { NumChannels = 8 };
53 enum { NumColorMaps = 2 };
54
55private:
59 const coDistributedObject *colors[NumChannels];
67 const coDistributedObject *colorMap[NumColorMaps];
68
69protected:
70 int rebuildFromShm();
71 int getObjInfo(int, coDoInfo **) const;
72 coDoGeometry *cloneObject(const coObjInfo &newinfo) const;
73
74public:
76 : coDistributedObject(info, "GEOMET")
77 {
78 if (name != (char *)NULL)
79 {
80 if (getShmArray() != 0)
81 {
82 if (rebuildFromShm() == 0)
83 {
84 print_comment(__LINE__, __FILE__, "rebuildFromShm == 0");
85 }
86 }
87 else
88 {
89 print_comment(__LINE__, __FILE__, "object %s doesn't exist", name);
90 new_ok = 0;
91 }
92 }
93 };
94
95 void setGeometry(int gtype, const coDistributedObject *geo);
96 void setColors(int cattr, const coDistributedObject *c, size_t chan = 0);
97 void setNormals(int nattr, const coDistributedObject *n);
98 void setTexture(int tattr, const coDistributedObject *t);
99 void setVertexAttribute(int vattr, const coDistributedObject *v);
100 void setColorMap(int cmattr, const coDistributedObject *cm, size_t chan = 0);
101
102 coDoGeometry(const coObjInfo &info, coShmArray *arr);
103 coDoGeometry(const coObjInfo &info, const coDistributedObject *geo);
105 {
106 return geometry;
107 };
108 const coDistributedObject *getColors(size_t chan = 0) const
109 {
110 return colors[chan];
111 };
113 {
114 return normals;
115 };
117 {
118 return texture;
119 };
121 {
122 return vertexAttribute;
123 };
124 const coDistributedObject *getColorMap(size_t chan = 0) const
125 {
126 return colorMap[chan];
127 }
128
129 int getGeometryType() const
130 {
131 return geometry_type;
132 }
134 {
135 return color_attr;
136 }
137 void setColorAttributes(int cattr)
138 {
139 color_attr = cattr;
140 }
142 {
143 return normal_attr;
144 }
145 void setNormalAttributes(int nattr)
146 {
147 normal_attr = nattr;
148 }
150 {
151 return texture_attr;
152 }
153 void setTextureAttributes(int nattr)
154 {
155 texture_attr = nattr;
156 }
158 {
159 return vertexAttribute_attr;
160 }
162 {
163 vertexAttribute_attr = vattr;
164 }
166 {
167 return colorMap_attr;
168 }
169 void setColorMapAttributes(int cmattr)
170 {
171 colorMap_attr = cmattr;
172 }
173};
174}
175#endif
#define DOEXPORT
Definition: coExport.h:331
#define NULL
Definition: covise_list.h:22
GLdouble n
Definition: khronos-glext.h:8447
GLenum GLuint texture
Definition: khronos-glext.h:6986
const GLubyte * c
Definition: khronos-glext.h:9864
const GLdouble * v
Definition: khronos-glext.h:6442
GLdouble GLdouble t
Definition: khronos-glext.h:6449
GLuint const GLchar * name
Definition: khronos-glext.h:6722
list of all chemical elements
Definition: coConfig.h:27
static coShmArray * getShmArray(const char *name)
Definition: coDistributedObject.cpp:60
void print_comment(int line, const char *filename, const char *fmt,...)
Definition: coLog.cpp:25
Definition: coObjID.h:231
Definition: covise_shm.h:482
Definition: coDistributedObject.h:267
Definition: coDistributedObject.h:296
Definition: coDoGeometry.h:47
int getGeometryType() const
Definition: coDoGeometry.h:129
const coDistributedObject * getColorMap(size_t chan=0) const
Definition: coDoGeometry.h:124
coIntShm texture_attr
Definition: coDoGeometry.h:62
coIntShm geometry_type
Definition: coDoGeometry.h:56
coIntShm colorMap_attr
Definition: coDoGeometry.h:66
const coDistributedObject * normals
Definition: coDoGeometry.h:61
int getColorMapAttributes() const
Definition: coDoGeometry.h:165
const coDistributedObject * getColors(size_t chan=0) const
Definition: coDoGeometry.h:108
coIntShm color_attr
Definition: coDoGeometry.h:58
coIntShm normal_attr
Definition: coDoGeometry.h:60
const coDistributedObject * vertexAttribute
Definition: coDoGeometry.h:65
const coDistributedObject * getNormals() const
Definition: coDoGeometry.h:112
coDoGeometry(const coObjInfo &info)
Definition: coDoGeometry.h:75
const coDistributedObject * geometry
Definition: coDoGeometry.h:57
void setColorAttributes(int cattr)
Definition: coDoGeometry.h:137
void setColorMapAttributes(int cmattr)
Definition: coDoGeometry.h:169
int getTextureAttributes() const
Definition: coDoGeometry.h:149
void setTextureAttributes(int nattr)
Definition: coDoGeometry.h:153
int getColorAttributes() const
Definition: coDoGeometry.h:133
int getNormalAttributes() const
Definition: coDoGeometry.h:141
const coDistributedObject * getGeometry() const
Definition: coDoGeometry.h:104
void setNormalAttributes(int nattr)
Definition: coDoGeometry.h:145
coIntShm vertexAttribute_attr
Definition: coDoGeometry.h:64
void setVertexAttributeAttributes(int vattr)
Definition: coDoGeometry.h:161
const coDistributedObject * getVertexAttribute() const
Definition: coDoGeometry.h:120
const coDistributedObject * texture
Definition: coDoGeometry.h:63
const coDistributedObject * getTexture() const
Definition: coDoGeometry.h:116
int getVertexAttributeAttributes() const
Definition: coDoGeometry.h:157
Definition: covise_statics.cpp:55