VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSplashParticle.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2021 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
11 
17 
19 
20 namespace osg
21 {
22  class Image;
23 }
24 
25 namespace makVrv
26 {
27  // Basically a static drop with no physics whatsoever.
29  {
30  public:
32  DtSplashParticle(float px, float py, float pMass, double time,
33  DtGridCell grid[][GRID_DIMENSION],
34  float pIntensity);
35 
37  virtual ~DtSplashParticle();
38  private:
40  DtSplashParticle() = delete;
41 
43  DtSplashParticle(const DtSplashParticle&) = delete;
44 
47  public:
48 
50  virtual void update(double time, double elapsedTime,
51  DtGridCell grid[][GRID_DIMENSION],
52  bool& destroyFlag);
53 
55  virtual int type() const override;
56 
58  virtual float intensity(void) const override;
59  public:
60  // ! \brief Precompute a normal map for a drop
61  static void precomputeSplashNormalsIfNeeded();
62  protected:
63  float myIntensity;
64  protected:
67  };
68 
69 }
static bool theSplashNormalsPrecomputed
Definition: DtSplashParticle.h:66
virtual ~DtSplashParticle()
destructor
virtual void update(double time, double elapsedTime, DtGridCell grid[][GRID_DIMENSION], bool &destroyFlag)
update
DtSplashParticle & operator=(const DtSplashParticle &)=delete
prevent assignment
Contains makVrv::DtDropParticle class.
float myIntensity
Definition: DtSplashParticle.h:63
4 dimensional vector
static DtVector4< unsigned int > thePrecomputedSplashNormals[PRECOMPUTED_DIM][PRECOMPUTED_DIM]
Definition: DtSplashParticle.h:65
Contains makVrv::DtSplashPrecompute class.
virtual int type() const override
type (0)
Definition: DtSplashParticle.h:28
DtSplashParticle()=delete
private default constructor. not allowed.
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1), const ImVec4 &border_col=ImVec4(0, 0, 0, 0))
static void precomputeSplashNormalsIfNeeded()
Internal struct for one cell of our grid of glass properties.
Definition: DtGridCell.h:19
virtual float intensity(void) const override
intensity
#define GRID_DIMENSION
Definition: DtWaterOnScreenDefines.h:56
Local class for a single drop particle on the screen.
Definition: DtDropParticle.h:25
Contains DLL export macros.
Contains makVrv::DtGridCell struct.
#define PRECOMPUTED_DIM
Definition: DtWaterOnScreenDefines.h:42

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)