VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/attachMgr.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2001 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: attachMgr.h,v $ $Revision: 1.16 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef DtAttachmentManager_H_
00015 #define DtAttachmentManager_H_
00016 
00017 #include "vrfobjcore/vrfobjcoreDefines.h"
00018 #include "vrfobjcore/srIterator.h"
00019 #include <vlutil/vlList.h>
00020 #include <matrix/vlVector.h>
00021 #include <vl/hostStructs.h>
00022 #include <vrfExtProtocol/objType.h>
00023 
00024 class DtSimObjectStateRepository;
00025 class DtSimObjectStateRepositoryIterator;
00026 class DtRecursiveStateRepositoryIterator;
00027 class Coordinate_System;
00028 
00058 class DT_DLL_vrfobjcore DtAttachmentManager
00059 {
00060 
00061 private:
00063    DtAttachmentManager();
00064 
00065 public:
00067    DtAttachmentManager(DtSimObjectStateRepository* owner);
00068 
00070    DtAttachmentManager(const DtAttachmentManager& orig);
00071 
00073    const DtAttachmentManager& operator=(const DtAttachmentManager& orig);
00074 
00076    virtual ~DtAttachmentManager();
00077 
00079    virtual DtAttachmentManager* clone() const;
00080 
00082    virtual void attachPart(DtSimObjectStateRepository* part);
00083 
00085    virtual void detachPart(DtSimObjectStateRepository* part);
00086 
00089    virtual DtSimObjectStateRepository* findPartByType(
00090       const DtObjectType& childType);
00091 
00092    virtual const DtSimObjectStateRepository* findPartByType(
00093       const DtObjectType& childType) const;
00094 
00096    virtual int numAttachments() const;
00097 
00101    virtual const DtSimObjectStateRepositoryIterator& iterator() const;
00102 
00106    virtual DtRecursiveStateRepositoryIterator* spawnRecursiveIterator() const;
00107 
00112    virtual DtVector getPartAttachPoint(const DtObjectType& partType, bool recurse = false) 
00113       const;
00114 
00117    virtual void parentKinematicsChanged();
00118 
00119    virtual void setCoordinateSystem(const Coordinate_System* coordinateSystem);
00120 
00121    const DtList& elements() const { return myElements; };
00122 
00123 protected:
00124 
00126    void emptyList();
00127 
00130    void copyList(const DtList& otherElements);
00131 
00132 protected:
00133 
00135    DtList myElements;
00136    DtSimObjectStateRepository* myOwner;
00137    DtSimObjectStateRepositoryIterator* myIterator;
00138 };
00139 
00140 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)