Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

SegmentKey3DF.h
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #pragma once
11 
12 #include "SegmentKey.h"
13 
14 #include <hc.h>
15 
16 
17 // Non-ref counted HC_KEY / HPS::SegmentKey abstraction
18 class SegmentKey3DF : public SegmentKey
19 {
20 public:
21  SegmentKey3DF(HC_KEY k) : _key(k) { }
22 
23  SegmentKey3DF(SegmentKey & seg)
24  : _key(static_cast<SegmentKey3DF&>(seg)._key)
25  {
26  }
27 
28  virtual ~SegmentKey3DF() {
29  _key = HC_ERROR_KEY;
30  }
31 
32  virtual SegmentKeyPtr Clone();
33  virtual void Open() const;
34  virtual void Close() const;
35  virtual SegmentKeyPtr Subsegment(const char *name) const;
36  virtual intptr_t id() const { return (intptr_t)_key; }
37 
38  HC_KEY Get() const { return _key; }
39 
40 
41 private:
42  HC_KEY _key;
43 };
44 
45 typedef std::shared_ptr<SegmentKey3DF> SegmentKey3DFPtr;
#define HC_KEY
Definition: SegmentKey3DF.h:18