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  virtual ~SIM_StaticVisualization();
39 
40  virtual void getPointVectorAttribs(
42  virtual void renderPrimAttribs() const;
43 
44 private:
45  fpreal getVelocityScale() const;
46  bool isEnabled(const char *option_name) const;
47  void getPointVectorAttrib(
49  const char *option_name,
50  const char *attrib_name,
51  const char *color_option_name,
52  const UT_Vector3 &default_color,
53  fpreal scale) const;
54  void drawCollisionRadiusGuideGeometry() const;
55 
56  static const SIM_DopDescription *getVisualizationDopDescription();
57 
58  DECLARE_STANDARD_GETCASTTOTYPE();
59  DECLARE_DATAFACTORY(SIM_StaticVisualization,
60  SIM_Data,
61  "Static Visualization",
62  getVisualizationDopDescription());
63 };
64 
65 #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)
virtual void renderPrimAttribs() const
virtual ~SIM_StaticVisualization()
3D Vector class.
virtual void getPointVectorAttribs(UT_Array< simVisualizationItem< UT_Vector3 > > &data) const
GA_API const UT_StringHolder scale
GLboolean * data
Definition: glcorearb.h:130
double fpreal
Definition: SYS_Types.h:270
SIM_StaticVisualization(const SIM_DataFactory *factory)
#define SIM_API
Definition: SIM_API.h:10