This file is indexed.

/usr/include/choreonoid-1.1/cnoid/src/BodyPlugin/BodyMotionItem.h is in libcnoid-dev 1.1.0+dfsg-6.1+b4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**
   @file
   @author Shin'ichiro Nakaoka
*/

#ifndef CNOID_BODYPLUGIN_BODY_MOTION_ITEM_H_INCLUDED
#define CNOID_BODYPLUGIN_BODY_MOTION_ITEM_H_INCLUDED

#include <cnoid/BodyMotion>
#include <cnoid/MultiSeqItem>
#include <cnoid/MultiValueSeqItem>
#include <cnoid/MultiAffine3SeqItem>
#include <cnoid/Vector3SeqItem>
#include "exportdecl.h"

namespace cnoid {

    class CNOID_EXPORT BodyMotionItem : public MultiSeqItemBase
    {
      public:
        BodyMotionItem();

        virtual MultiSeqBasePtr seqBase() { return bodyMotion_; }

        inline const BodyMotionPtr& motion() { return bodyMotion_; }

        inline MultiValueSeqItem* jointPosSeqItem() {
            return jointPosSeqItem_.get();
        }

        inline const MultiValueSeqPtr& jointPosSeq() {
            return bodyMotion_->jointPosSeq();
        }

        inline MultiAffine3SeqItem* linkPosSeqItem() {
            return linkPosSeqItem_.get();
        }
            
        inline const MultiAffine3SeqPtr& linkPosSeq() {
            return bodyMotion_->linkPosSeq();
        }

        bool hasRelativeZmpSeqItem() { return bodyMotion_->hasRelativeZmpSeq(); }
        Vector3SeqItem* relativeZmpSeqItem();

        inline Vector3SeqPtr relativeZmpSeq() {
            return relativeZmpSeqItem()->seq();
        }

        virtual void notifyUpdate();

        void updateChildItemLineup();

      protected:

        BodyMotionItem(const BodyMotionItem& org);

        virtual ItemPtr doDuplicate() const;
        virtual bool store(Archive& archive);
        virtual bool restore(const Archive& archive);

      private:

        BodyMotionPtr bodyMotion_;
            
        MultiValueSeqItemPtr jointPosSeqItem_;
        MultiAffine3SeqItemPtr linkPosSeqItem_;
        Vector3SeqItemPtr relativeZmpSeqItem_;

        void initialize();
        void onSubItemUpdated(Item* childItem);
    };

    typedef boost::intrusive_ptr<BodyMotionItem> BodyMotionItemPtr;

    void initializeBodyMotionItem(ExtensionManager& ext);
        
}

#endif