VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
attachmentManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vlutil/vlList.h>
16 #include <matrix/vlVector.h>
17 #include <vl/hostStructs.h>
19 
23 class Coordinate_System;
24 
55 {
56 
57 private:
60 
61 public:
64 
67 
69  const DtAttachmentManager& operator=(const DtAttachmentManager& orig);
70 
72  virtual ~DtAttachmentManager();
73 
75  virtual DtAttachmentManager* clone() const;
76 
78  virtual void attachPart(DtSimObjectStateRepository* part);
79 
81  virtual void detachPart(DtSimObjectStateRepository* part);
82 
85  virtual DtSimObjectStateRepository* findPartByType(
86  const DtObjectType& childType);
87 
88  virtual const DtSimObjectStateRepository* findPartByType(
89  const DtObjectType& childType) const;
90 
92  virtual int numAttachments() const;
93 
96  virtual const DtSimObjectStateRepositoryIterator& iterator() const;
97 
101  virtual DtRecursiveStateRepositoryIterator* spawnRecursiveIterator() const;
102 
107  virtual DtVector getPartAttachPoint(const DtObjectType& partType, bool recurse = false)
108  const;
109 
112  virtual void parentKinematicsChanged();
113 
114  virtual void setCoordinateSystem(const Coordinate_System* coordinateSystem);
115 
116  const DtList& elements() const { return myElements; };
117 
118 protected:
119 
121  void emptyList();
122 
125  void copyList(const DtList& otherElements);
126 
129  static void simObjectRepositoryAboutToBeDeleted(DtSimObjectStateRepository*, void*);
130  virtual void processSimObjectRepositoryAboutToBeDeleted(DtSimObjectStateRepository*);
131 
132 protected:
133 
135  DtList myElements;
138 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)