HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_GuideShared.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_GuideShared_h__
9 #define __SIM_GuideShared_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_Time.h"
13 #include "SIM_RootDataId.h"
14 #include "SIM_Guide.h"
15 
16 /// This SIM_Guide subclass caches the geometry and transform from the first
17 /// object it is asked to build for. Subsequent requests for other objects
18 /// return null geometry. This way this guide geometry will only be rendered
19 /// once, not once for each object it is attached to.
21 {
22 public:
23  /// Constructor which takes a const SIM_Data as our owner.
24  explicit SIM_GuideShared(const SIM_Data *owner,
25  bool displayonce);
26  /// Destructor for this class.
27  ~SIM_GuideShared() override;
28 
29 protected:
31  const SIM_RootData &root,
32  UT_DMatrix4 &xform,
33  const SIM_Time &t) override;
34  int64 getMemorySizeSubclass() const override;
35  void clearSubclass() override;
36 
37 private:
38  GU_DetailHandle myDetailHandle;
39  SIM_RootDataId myCachedObjectId;
40  const bool myDisplayOnce;
41 };
42 
43 #endif
44 
virtual int64 getMemorySizeSubclass() const
long long int64
Definition: SYS_Types.h:116
GLdouble t
Definition: glad.h:2397
virtual GU_ConstDetailHandle getGuideGeometrySubclass(const SIM_RootData &root, UT_DMatrix4 &xform, const SIM_Time &t)
#define SIM_API
Definition: SIM_API.h:12
virtual void clearSubclass()
Override this function to clear any data create by this class.