HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_StaticVisualization.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  */
7 
8 #ifndef __SIM_StaticVisualization_h__
9 #define __SIM_StaticVisualization_h__
10 
11 #include "SIM_Names.h"
12 #include "SIM_Visualization.h"
13 #include <GEO/GEO_Face.h>
14 #include <GU/GU_Detail.h>
15 #include <GU/GU_PrimSphere.h>
16 #include <GU/GU_PrimTube.h>
17 #include <GU/GU_PrimPoly.h>
18 
20  const GU_Detail& inGdp,
21  GU_Detail& outGdp,
22  fpreal collision_radius,
23  UT_Vector3 thicknessColor,
24  bool penetrationEnabled,
25  UT_Vector3 penetrationColor,
26  GA_RWHandleV3& myAttOutCd,
27  const std::vector<UT_Vector3> valuesPointPositions,
28  const std::vector<fpreal> scalePointThickness,
29  const std::vector<int> isResolvedExternal,
30  const std::vector<int> isResolvedCloth,
31  const std::vector<int> isResolvedSelf
32 );
33 
35 {
36 protected:
37  explicit SIM_StaticVisualization(const SIM_DataFactory *factory);
38  ~SIM_StaticVisualization() override;
39 
42  ) const override;
43  void renderPrimAttribs() const override;
44 
45 private:
46  fpreal getVelocityScale() const;
47  bool isEnabled(const char *option_name) const;
48  void getPointVectorAttrib(
50  const char *option_name,
51  const char *attrib_name,
52  const char *color_option_name,
53  const UT_Vector3 &default_color,
54  fpreal scale) const;
55  void drawCollisionRadiusGuideGeometry() const;
56 
57  static const SIM_DopDescription *getVisualizationDopDescription();
58 
59  DECLARE_STANDARD_GETCASTTOTYPE();
60  DECLARE_DATAFACTORY(SIM_StaticVisualization,
61  SIM_Data,
62  "Static Visualization",
63  getVisualizationDopDescription());
64 };
65 
66 #endif
SIM_API void SIMdrawCollisionRadiusGuideGeometry(const GU_Detail &inGdp, GU_Detail &outGdp, fpreal collision_radius, UT_Vector3 thicknessColor, bool penetrationEnabled, UT_Vector3 penetrationColor, GA_RWHandleV3 &myAttOutCd, const std::vector< UT_Vector3 > valuesPointPositions, const std::vector< fpreal > scalePointThickness, const std::vector< int > isResolvedExternal, const std::vector< int > isResolvedCloth, const std::vector< int > isResolvedSelf)
GLenum GLenum GLenum GLenum GLenum scale
Definition: glew.h:14163
GLboolean * data
Definition: glcorearb.h:130
fpreal64 fpreal
Definition: SYS_Types.h:277
~SIM_StaticVisualization() override
void renderPrimAttribs() const override
void getPointVectorAttribs(UT_Array< simVisualizationItem< UT_Vector3 >> &data) const override
SIM_StaticVisualization(const SIM_DataFactory *factory)
#define SIM_API
Definition: SIM_API.h:10