FreeWRL/FreeX3D  3.0.0
fieldSet.h
1 /*
2 
3 
4 ???
5 
6 */
7 
8 /****************************************************************************
9  This file is part of the FreeWRL/FreeX3D Distribution.
10 
11  Copyright 2009 CRC Canada. (http://www.crc.gc.ca)
12 
13  FreeWRL/FreeX3D is free software: you can redistribute it and/or modify
14  it under the terms of the GNU Lesser Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  FreeWRL/FreeX3D is distributed in the hope that it will be useful,
19  but WITHOUT ANY WARRANTY; without even the implied warranty of
20  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  GNU General Public License for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with FreeWRL/FreeX3D. If not, see <http://www.gnu.org/licenses/>.
25 ****************************************************************************/
26 
27 
28 
29 #ifndef __FREEWRL_JS_FIELD_SET_H__
30 #define __FREEWRL_JS_FIELD_SET_H__
31 
32 #define ROUTED_FIELD_EVENT_OUT 0
33 #define ROUTED_FIELD_EVENT_IN 1
34 
35 #define DEF_FINDFIELDFP(arr) int findFieldIn##arr(const char* field)
36 DEF_FINDFIELDFP(FIELDNAMES);
37 DEF_FINDFIELDFP(FIELD);
38 DEF_FINDFIELDFP(EXPOSED_FIELD);
39 DEF_FINDFIELDFP(EVENT_IN);
40 DEF_FINDFIELDFP(EVENT_OUT);
41 DEF_FINDFIELDFP(KEYWORDS);
42 DEF_FINDFIELDFP(PROTOKEYWORDS);
43 DEF_FINDFIELDFP(NODES);
44 DEF_FINDFIELDFP(PROFILES);
45 DEF_FINDFIELDFP(COMPONENTS);
46 DEF_FINDFIELDFP(FIELDTYPES);
47 DEF_FINDFIELDFP(X3DSPECIAL);
48 DEF_FINDFIELDFP(GEOSPATIAL);
49 DEF_FINDFIELDFP(MULTITEXTUREMODE);
50 DEF_FINDFIELDFP(MULTITEXTURESOURCE);
51 DEF_FINDFIELDFP(MULTITEXTUREFUNCTION);
52 
53 int findRoutedFieldInARR (struct X3D_Node *, const char *, int, const char**, size_t, BOOL);
54 int findFieldInARR(const char*, const char**, size_t);
55 void findFieldInOFFSETS(int, const int, int *, int *, int *);
56 int findIndexInFIELDNAMES(int, const char**, size_t);
57 char *findFIELDNAMESfromNodeOffset(struct X3D_Node *node, int offset);
58 void getMFNodetype (struct X3D_Node *strp, struct Multi_Node *ch, struct X3D_Node *par, int ar);
59 
60 
61 #define DEF_FINDROUTEDFIELDFP(arr) int findRoutedFieldIn##arr(struct X3D_Node* node, const char* field, int fromTo)
62 DEF_FINDROUTEDFIELDFP(FIELDNAMES);
63 DEF_FINDROUTEDFIELDFP(EXPOSED_FIELD);
64 DEF_FINDROUTEDFIELDFP(EVENT_IN);
65 DEF_FINDROUTEDFIELDFP(EVENT_OUT);
66 
67 
68 #endif /* __FREEWRL_JS_FIELD_SET_H__ */