HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GAS_SPHDensity.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_SPHDensity.h ( GAS Library, C++)
7  *
8  * COMMENTS:
9  * Recalculates the density for each particle according
10  * to its mass & sph values.
11  */
12 
13 #ifndef __GAS_SPHDensity__
14 #define __GAS_SPHDensity__
15 
16 #include "GAS_API.h"
17 
18 #include <GU/GU_Detail.h>
19 
21 
22 #include "GAS_SubSolver.h"
23 #include "GAS_Utils.h"
24 
25 class GAS_SPH;
26 
27 class GU_Detail;
28 
30 {
31 public:
32  GET_DATA_FUNC_S(GAS_NAME_GEOMETRY, GeometryName);
33 
34  bool shouldMultiThread() { return true; }
35 
36 protected:
37  explicit GAS_SPHDensity(const SIM_DataFactory *factory);
38  ~GAS_SPHDensity() override;
39 
40  /// Moves the fields given by FieldName by the given velocity
41  /// field. Moves the points given by GeometryName likewise.
42  bool solveGasSubclass(SIM_Engine &engine,
43  SIM_Object *obj,
44  SIM_Time time,
45  SIM_Time timestep) override;
46 
47 protected:
48  THREADED_METHOD2(GAS_SPHDensity, shouldMultiThread(), calculateDensity,
49  GU_Detail *, gdp,
50  const GAS_SPH &, sph)
51  void calculateDensityPartial(GU_Detail *gdp,
52  const GAS_SPH &sph,
53  const UT_JobInfo &info);
54 
55 private:
56  static const SIM_DopDescription *getDopDescription();
57 
61  "Gas SPH Density",
62  getDopDescription());
63 };
64 
65 #endif
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define GAS_NAME_GEOMETRY
Definition: GAS_Utils.h:30
void
Definition: png.h:1083
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 DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
#define THREADED_METHOD2(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1, PARMTYPE2, PARMNAME2)
bool shouldMultiThread()
#define GET_DATA_FUNC_S(DataName, FuncName)