VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGLSLMacro.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <string.h>
13 #include <stdlib.h>
14 
15 #include <vrvOsg/DtGLSLToken.h>
16 
17 namespace makVrv
18 {
19  class DtGLSLPreprocessor;
20 
23  {
24  public:
26  DtGLSLMacro(const DtGLSLToken &iName);
27 
29  ~DtGLSLMacro();
30 
32  DtGLSLToken Expand(int iNumArgs, DtGLSLToken *iArgs, DtGLSLMacro *iMacros);
33 
34  public:
38  int NumArgs;
48  DtGLSLToken(*ExpandFunc) (DtGLSLPreprocessor *iParent, int iNumArgs, DtGLSLToken *iArgs);
50  bool Expanding;
51 
52  };
53 
54 }
int NumArgs
Number of arguments.
Definition: DtGLSLMacro.h:38
DtGLSLToken(* ExpandFunc)(DtGLSLPreprocessor *iParent, int iNumArgs, DtGLSLToken *iArgs)
A pointer to function implementation (if macro is really a func)
Definition: DtGLSLMacro.h:48
This is a simplistic C/C++-like preprocessor.
Definition: DtGLSLPreprocessor.h:74
glsl token
bool Expanding
true if macro expansion is in progress
Definition: DtGLSLMacro.h:50
DtGLSLToken Body
Unparsed macro body (keeps the whole raw unparsed macro body)
Definition: DtGLSLMacro.h:44
DtGLSLToken Expand(int iNumArgs, DtGLSLToken *iArgs, DtGLSLMacro *iMacros)
Expand the macro value (will not work for functions)
A input token.
Definition: DtGLSLToken.h:29
DtGLSLToken * Args
The names of the arguments.
Definition: DtGLSLMacro.h:40
DtGLSLMacro * Next
Next macro in chained list.
Definition: DtGLSLMacro.h:46
DtGLSLToken Name
Macro name.
Definition: DtGLSLMacro.h:36
A macro definition.
Definition: DtGLSLMacro.h:22
~DtGLSLMacro()
Desctructor.
DtGLSLToken Value
The macro value.
Definition: DtGLSLMacro.h:42
DtGLSLMacro(const DtGLSLToken &iName)
Constructor.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)