HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GAS_SDFToFog.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GAS_SDFToFog.h ( GAS Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GAS_SDFToFog_h__
12 #define __GAS_SDFToFog_h__
13 
14 #include "GAS_SubSolver.h"
15 #include "GAS_Utils.h"
16 #include <SIM/SIM_Names.h>
17 
18 
20 {
21 public:
22  /// These macros are used to create the accessors
23  /// getFieldDstName and getFieldSrcName functions we'll use
24  /// to access our data options.
26  GET_DATA_FUNC_I("sampling", Sampling);
27  GET_DATA_FUNC_I("numsupersamples", NumSuperSamples);
29 
30 protected:
31  explicit GAS_SDFToFog(const SIM_DataFactory *factory);
32  ~GAS_SDFToFog() override;
33 
34  /// The overloaded callback that GAS_SubSolver will invoke to
35  /// perform our actual computation. We are giving a single object
36  /// at a time to work on.
37  bool solveGasSubclass(SIM_Engine &engine,
38  SIM_Object *obj,
39  SIM_Time time,
40  SIM_Time timestep) override;
41 
42  void initializeSubclass() override;
43 
44  void doFractionsSampled(SIM_RawField *dst,
45  const SIM_RawField *sdf) const;
46 
47  void doFractionsVolumeFraction(SIM_RawField *dst,
48  const SIM_RawField *sdf) const;
49 
50  void doFractionsFace(SIM_RawField *dst,
51  const SIM_RawField *sdf,
52  int axis) const;
53 
54 private:
55  /// We define this to be a DOP_Auto node which means we do not
56  /// need to implement a DOP_Node derivative for this data. Instead,
57  /// this description is used to define the interface.
58  static const SIM_DopDescription *getDopDescription();
59 
60  /// These macros are necessary to bind our node to the factory and
61  /// ensure useful constants like BaseClass are defined.
65  "Gas SDF To Fog",
66  getDopDescription());
67 
68 };
69 
70 
71 #endif
72 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
GT_API const UT_StringHolder time
#define GAS_API
Definition: GAS_API.h:10
virtual bool solveGasSubclass(SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep)=0
#define GAS_NAME_VELOCITY
Definition: GAS_Utils.h:42
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
#define GET_DATA_FUNC_I(DataName, FuncName)
#define SIM_NAME_INVERT
Definition: SIM_Names.h:139
GLenum GLenum dst
Definition: glcorearb.h:1793
#define GET_DATA_FUNC_B(DataName, FuncName)
#define GET_DATA_FUNC_S(DataName, FuncName)
virtual void initializeSubclass()