mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-05 23:05:01 +08:00
146 KiB
146 KiB
Spine C++ Nullability Cleanup
Instructions
Review and Update Process For each unchecked checkbox (now with implementations inlined):
- Present both implementations from the checkbox
- Ask if we need to change the C++ signature based on Java nullability patterns (y/n)
- Make changes if needed
- Change the signature in the header file
- Update the implementation in the corresponding .cpp file
- Run
../../spine-cpp/build.shto confirm the changes compile successfully
- Confirm changes
- Summarize what was changed
- Ask for confirmation that the changes are correct (y/n)
- If yes, check the checkbox and move to the next unchecked item
Methods to Review
- ../../spine-cpp/include/spine/AnimationState.h:428 TrackEntry * AnimationState::setAnimation(size_t trackIndex, const String & animationName, bool loop) // returns nullable pointer: TrackEntry *
../../spine-cpp/src/spine/AnimationState.cpp:655 655:TrackEntry *AnimationState::setAnimation(size_t trackIndex, const String &animationName, bool loop) { 656- Animation *animation = _data->_skeletonData->findAnimation(animationName); 657- assert(animation != NULL); 658- return setAnimation(trackIndex, animation, loop); 659-} 660- 661:TrackEntry *AnimationState::setAnimation(size_t trackIndex, Animation *animation, bool loop) { 662- assert(animation != NULL); 663- 664- bool interrupt = true;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:572 572: * See {@link #setAnimation(int, Animation, boolean)}. */ 573: public TrackEntry setAnimation (int trackIndex, String animationName, boolean loop) { 574- Animation animation = data.skeletonData.findAnimation(animationName); 575- if (animation == null) throw new IllegalArgumentException("Animation not found: " + animationName); 576: return setAnimation(trackIndex, animation, loop); 577- } 578- 579- /** Sets the current animation for a track, discarding any queued animations. 580- * <p> 581- * If the formerly current track entry is for the same animation and was never applied to a skeleton, it is replaced (not mixed - ../../spine-cpp/include/spine/AnimationState.h:440 TrackEntry * AnimationState::setAnimation(size_t trackIndex, Animation * animation, bool loop) // returns nullable pointer: TrackEntry *; takes nullable parameter 'animation': Animation *
../../spine-cpp/src/spine/AnimationState.cpp:655 655:TrackEntry *AnimationState::setAnimation(size_t trackIndex, const String &animationName, bool loop) { 656- Animation *animation = _data->_skeletonData->findAnimation(animationName); 657- assert(animation != NULL); 658- return setAnimation(trackIndex, animation, loop); 659-} 660- 661:TrackEntry *AnimationState::setAnimation(size_t trackIndex, Animation *animation, bool loop) { 662- assert(animation != NULL); 663- 664- bool interrupt = true;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:572 572: * See {@link #setAnimation(int, Animation, boolean)}. */ 573: public TrackEntry setAnimation (int trackIndex, String animationName, boolean loop) { 574- Animation animation = data.skeletonData.findAnimation(animationName); 575- if (animation == null) throw new IllegalArgumentException("Animation not found: " + animationName); 576: return setAnimation(trackIndex, animation, loop); 577- } 578- 579- /** Sets the current animation for a track, discarding any queued animations. 580- * <p> 581- * If the formerly current track entry is for the same animation and was never applied to a skeleton, it is replaced (not mixed - ../../spine-cpp/include/spine/AnimationState.h:445 TrackEntry * AnimationState::addAnimation(size_t trackIndex, const String & animationName, bool loop, float delay) // returns nullable pointer: TrackEntry *
../../spine-cpp/src/spine/AnimationState.cpp:687 687:TrackEntry *AnimationState::addAnimation(size_t trackIndex, const String &animationName, bool loop, float delay) { 688- Animation *animation = _data->_skeletonData->findAnimation(animationName); 689- assert(animation != NULL); 690- return addAnimation(trackIndex, animation, loop, delay); 691-} 692- 693:TrackEntry *AnimationState::addAnimation(size_t trackIndex, Animation *animation, bool loop, float delay) { 694- assert(animation != NULL); 695- 696- TrackEntry *last = expandToIndex(trackIndex);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:612 612: * See {@link #addAnimation(int, Animation, boolean, float)}. */ 613: public TrackEntry addAnimation (int trackIndex, String animationName, boolean loop, float delay) { 614- Animation animation = data.skeletonData.findAnimation(animationName); 615- if (animation == null) throw new IllegalArgumentException("Animation not found: " + animationName); 616: return addAnimation(trackIndex, animation, loop, delay); 617- } 618- 619- /** Adds an animation to be played after the current or last queued animation for a track. If the track has no entries, this is 620- * equivalent to calling {@link #setAnimation(int, Animation, boolean)}. 621- * @param delay If > 0, sets {@link TrackEntry#getDelay()}. If <= 0, the delay set is the duration of the previous track entry - ../../spine-cpp/include/spine/AnimationState.h:455 TrackEntry * AnimationState::addAnimation(size_t trackIndex, Animation * animation, bool loop, float delay) // returns nullable pointer: TrackEntry *; takes nullable parameter 'animation': Animation *
../../spine-cpp/src/spine/AnimationState.cpp:687 687:TrackEntry *AnimationState::addAnimation(size_t trackIndex, const String &animationName, bool loop, float delay) { 688- Animation *animation = _data->_skeletonData->findAnimation(animationName); 689- assert(animation != NULL); 690- return addAnimation(trackIndex, animation, loop, delay); 691-} 692- 693:TrackEntry *AnimationState::addAnimation(size_t trackIndex, Animation *animation, bool loop, float delay) { 694- assert(animation != NULL); 695- 696- TrackEntry *last = expandToIndex(trackIndex);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:612 612: * See {@link #addAnimation(int, Animation, boolean, float)}. */ 613: public TrackEntry addAnimation (int trackIndex, String animationName, boolean loop, float delay) { 614- Animation animation = data.skeletonData.findAnimation(animationName); 615- if (animation == null) throw new IllegalArgumentException("Animation not found: " + animationName); 616: return addAnimation(trackIndex, animation, loop, delay); 617- } 618- 619- /** Adds an animation to be played after the current or last queued animation for a track. If the track has no entries, this is 620- * equivalent to calling {@link #setAnimation(int, Animation, boolean)}. 621- * @param delay If > 0, sets {@link TrackEntry#getDelay()}. If <= 0, the delay set is the duration of the previous track entry - ../../spine-cpp/include/spine/AnimationState.h:474 TrackEntry * AnimationState::setEmptyAnimation(size_t trackIndex, float mixDuration) // returns nullable pointer: TrackEntry *
../../spine-cpp/src/spine/AnimationState.cpp:717 717:TrackEntry *AnimationState::setEmptyAnimation(size_t trackIndex, float mixDuration) { 718- TrackEntry *entry = setAnimation(trackIndex, AnimationState::getEmptyAnimation(), false); 719- entry->_mixDuration = mixDuration; 720- entry->_trackEnd = mixDuration; 721- return entry; 722-} 723- 724-TrackEntry *AnimationState::addEmptyAnimation(size_t trackIndex, float mixDuration, float delay) { 725- TrackEntry *entry = addAnimation(trackIndex, AnimationState::getEmptyAnimation(), false, delay); 726- if (delay <= 0) entry->_delay = MathUtil::max(entry->_delay + entry->_mixDuration - mixDuration, 0.0f);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:522 522: * It may be desired to use {@link AnimationState#setEmptyAnimation(int, float)} to mix the skeletons back to the setup pose, 523- * rather than leaving them in their current pose. */ 524- public void clearTrack (int trackIndex) { 525- if (trackIndex < 0) throw new IllegalArgumentException("trackIndex must be >= 0."); 526- if (trackIndex >= tracks.size) return; 527- TrackEntry current = tracks.items[trackIndex]; 528- if (current == null) return; 529- 530- queue.end(current); 531- - ../../spine-cpp/include/spine/AnimationState.h:489 TrackEntry * AnimationState::addEmptyAnimation(size_t trackIndex, float mixDuration, float delay) // returns nullable pointer: TrackEntry *
../../spine-cpp/src/spine/AnimationState.cpp:724 724:TrackEntry *AnimationState::addEmptyAnimation(size_t trackIndex, float mixDuration, float delay) { 725- TrackEntry *entry = addAnimation(trackIndex, AnimationState::getEmptyAnimation(), false, delay); 726- if (delay <= 0) entry->_delay = MathUtil::max(entry->_delay + entry->_mixDuration - mixDuration, 0.0f); 727- entry->_mixDuration = mixDuration; 728- entry->_trackEnd = mixDuration; 729- return entry; 730-} 731- 732-void AnimationState::setEmptyAnimations(float mixDuration) { 733- bool oldDrainDisabled = _queue->_drainDisabled;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:657 657: * {@link #setEmptyAnimations(float)}, or {@link #addEmptyAnimation(int, float, float)}. Mixing to an empty animation causes 658- * the previous animation to be applied less and less over the mix duration. Properties keyed in the previous animation 659- * transition to the value from lower tracks or to the setup pose value if no lower tracks key the property. A mix duration of 660- * 0 still mixes out over one frame. 661- * <p> 662- * Mixing in is done by first setting an empty animation, then adding an animation using 663- * {@link #addAnimation(int, Animation, boolean, float)} with the desired delay (an empty animation has a duration of 0) and on 664- * the returned track entry, set the {@link TrackEntry#setMixDuration(float)}. Mixing from an empty animation causes the new 665- * animation to be applied more and more over the mix duration. Properties keyed in the new animation transition from the value 666- * from lower tracks or from the setup pose value if no lower tracks key the property to the value keyed in the new animation. - ../../spine-cpp/include/spine/AnimationState.h:498 TrackEntry * AnimationState::getCurrent(size_t trackIndex) // returns nullable pointer: TrackEntry *
../../spine-cpp/src/spine/AnimationState.cpp:745 745:TrackEntry *AnimationState::getCurrent(size_t trackIndex) { 746- return trackIndex >= _tracks.size() ? NULL : _tracks[trackIndex]; 747-} 748- 749-AnimationStateData &AnimationState::getData() { 750- return *_data; 751-} 752- 753-Array<TrackEntry *> &AnimationState::getTracks() { 754- return _tracks;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:826 826: public @Null TrackEntry getCurrent (int trackIndex) { 827- if (trackIndex < 0) throw new IllegalArgumentException("trackIndex must be >= 0."); 828- if (trackIndex >= tracks.size) return null; 829- return tracks.items[trackIndex]; 830- } 831- 832- /** Adds a listener to receive events for all track entries. */ 833- public void addListener (AnimationStateListener listener) { 834- if (listener == null) throw new IllegalArgumentException("listener cannot be null."); 835- listeners.add(listener); - ../../spine-cpp/include/spine/AnimationState.h:528 void AnimationState::disposeTrackEntry(TrackEntry * entry) // takes nullable parameter 'entry': TrackEntry *
../../spine-cpp/src/spine/AnimationState.cpp:791 791:void AnimationState::disposeTrackEntry(TrackEntry *entry) { 792- entry->reset(); 793- _trackEntryPool.free(entry); 794-} 795- 796-Animation *AnimationState::getEmptyAnimation() { 797- static Array<Timeline *> timelines; 798- static Animation ret(String("<empty>"), timelines, 0); 799- return &ret; 800-}NOT FOUND - searched for class "AnimationState" (from C++ "AnimationState") and method "disposeTrackEntry" across all Java files - ../../spine-cpp/include/spine/AnimationStateData.h:52 SkeletonData * AnimationStateData::getSkeletonData() // returns nullable pointer: SkeletonData *
../../spine-cpp/src/spine/AnimationStateData.cpp:64 64:SkeletonData *AnimationStateData::getSkeletonData() { 65- return _skeletonData; 66-} 67- 68-float AnimationStateData::getDefaultMix() { 69- return _defaultMix; 70-} 71- 72-void AnimationStateData::setDefaultMix(float inValue) { 73- _defaultMix = inValue;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java:49 49: public SkeletonData getSkeletonData () { 50- return skeletonData; 51- } 52- 53- /** Sets a mix duration by animation name. 54- * <p> 55- * See {@link #setMix(Animation, Animation, float)}. */ 56- public void setMix (String fromName, String toName, float duration) { 57- Animation from = skeletonData.findAnimation(fromName); 58- if (from == null) throw new IllegalArgumentException("Animation not found: " + fromName); - ../../spine-cpp/include/spine/AnimationStateData.h:64 void AnimationStateData::setMix(Animation * from, Animation * to, float duration) // takes nullable parameter 'from': Animation *; takes nullable parameter 'to': Animation *
../../spine-cpp/src/spine/AnimationStateData.cpp:39 39:void AnimationStateData::setMix(const String &fromName, const String &toName, float duration) { 40- Animation *from = _skeletonData->findAnimation(fromName); 41- Animation *to = _skeletonData->findAnimation(toName); 42- 43- setMix(from, to, duration); 44-} 45- 46:void AnimationStateData::setMix(Animation *from, Animation *to, float duration) { 47- assert(from != NULL); 48- assert(to != NULL);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java:55 55: * See {@link #setMix(Animation, Animation, float)}. */ 56: public void setMix (String fromName, String toName, float duration) { 57- Animation from = skeletonData.findAnimation(fromName); 58- if (from == null) throw new IllegalArgumentException("Animation not found: " + fromName); 59- Animation to = skeletonData.findAnimation(toName); 60- if (to == null) throw new IllegalArgumentException("Animation not found: " + toName); 61: setMix(from, to, duration); 62- } 63- 64- /** Sets the mix duration when changing from the specified animation to the other. - ../../spine-cpp/include/spine/AnimationStateData.h:68 float AnimationStateData::getMix(Animation * from, Animation * to) // takes nullable parameter 'from': Animation *; takes nullable parameter 'to': Animation *
../../spine-cpp/src/spine/AnimationStateData.cpp:54 54:float AnimationStateData::getMix(Animation *from, Animation *to) { 55- assert(from != NULL); 56- assert(to != NULL); 57- 58- AnimationPair key(from, to); 59- 60- if (_animationToMixTime.containsKey(key)) return _animationToMixTime[key]; 61- return _defaultMix; 62-} 63-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java:78 78: public float getMix (Animation from, Animation to) { 79- if (from == null) throw new IllegalArgumentException("from cannot be null."); 80- if (to == null) throw new IllegalArgumentException("to cannot be null."); 81- tempKey.a1 = from; 82- tempKey.a2 = to; 83- return animationToMixTime.get(tempKey, defaultMix); 84- } 85- 86- /** The mix duration to use when no mix duration has been defined between two animations. */ 87- public float getDefaultMix () { - ../../spine-cpp/include/spine/Atlas.h:258 AtlasRegion * Atlas::findRegion(const String & name) // returns nullable pointer: AtlasRegion *
../../spine-cpp/src/spine/Atlas.cpp:88 88:AtlasRegion *Atlas::findRegion(const String &name) { 89- for (size_t i = 0, n = _regions.size(); i < n; ++i) 90- if (_regions[i]->_name == name) return _regions[i]; 91- return nullptr; 92-} 93- 94-Array<AtlasPage *> &Atlas::getPages() { 95- return _pages; 96-} 97-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:56 56: regions[i] = atlas.findRegion(path); 57- if (regions[i] == null) throw new RuntimeException("Region not found in atlas: " + path + " (sequence: " + name + ")"); 58- } 59- } 60- 61- public RegionAttachment newRegionAttachment (Skin skin, String name, String path, @Null Sequence sequence) { 62- var attachment = new RegionAttachment(name); 63- if (sequence != null) 64- loadSequence(name, path, sequence); 65- else { - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:51 RegionAttachment * AtlasAttachmentLoader::newRegionAttachment(Skin & skin, const String & name, const String & path, Sequence * sequence) // returns nullable pointer: RegionAttachment *; takes nullable parameter 'sequence': Sequence *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:56 56:RegionAttachment *AtlasAttachmentLoader::newRegionAttachment(Skin &skin, const String &name, const String &path, Sequence *sequence) { 57- SP_UNUSED(skin); 58- RegionAttachment *attachment = new (__FILE__, __LINE__) RegionAttachment(name); 59- if (sequence) { 60- if (!loadSequence(_atlas, path, sequence)) return NULL; 61- } else { 62- AtlasRegion *region = findRegion(path); 63- if (!region) return NULL; 64- attachment->setRegion(region); 65- }../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:61 61: public RegionAttachment newRegionAttachment (Skin skin, String name, String path, @Null Sequence sequence) { 62- var attachment = new RegionAttachment(name); 63- if (sequence != null) 64- loadSequence(name, path, sequence); 65- else { 66- AtlasRegion region = atlas.findRegion(path); 67- if (region == null) 68- throw new RuntimeException("Region not found in atlas: " + path + " (region attachment: " + name + ")"); 69- attachment.setRegion(region); 70- } - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:53 MeshAttachment * AtlasAttachmentLoader::newMeshAttachment(Skin & skin, const String & name, const String & path, Sequence * sequence) // returns nullable pointer: MeshAttachment *; takes nullable parameter 'sequence': Sequence *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:69 69:MeshAttachment *AtlasAttachmentLoader::newMeshAttachment(Skin &skin, const String &name, const String &path, Sequence *sequence) { 70- SP_UNUSED(skin); 71- MeshAttachment *attachment = new (__FILE__, __LINE__) MeshAttachment(name); 72- 73- if (sequence) { 74- if (!loadSequence(_atlas, path, sequence)) return NULL; 75- } else { 76- AtlasRegion *region = findRegion(path); 77- if (!region) return NULL; 78- attachment->setRegion(region);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:74 74: public MeshAttachment newMeshAttachment (Skin skin, String name, String path, @Null Sequence sequence) { 75- var attachment = new MeshAttachment(name); 76- if (sequence != null) 77- loadSequence(name, path, sequence); 78- else { 79- AtlasRegion region = atlas.findRegion(path); 80- if (region == null) 81- throw new RuntimeException("Region not found in atlas: " + path + " (mesh attachment: " + name + ")"); 82- attachment.setRegion(region); 83- } - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:55 BoundingBoxAttachment * AtlasAttachmentLoader::newBoundingBoxAttachment(Skin & skin, const String & name) // returns nullable pointer: BoundingBoxAttachment *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:83 83:BoundingBoxAttachment *AtlasAttachmentLoader::newBoundingBoxAttachment(Skin &skin, const String &name) { 84- SP_UNUSED(skin); 85- return new (__FILE__, __LINE__) BoundingBoxAttachment(name); 86-} 87- 88-PathAttachment *AtlasAttachmentLoader::newPathAttachment(Skin &skin, const String &name) { 89- SP_UNUSED(skin); 90- return new (__FILE__, __LINE__) PathAttachment(name); 91-} 92-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:87 87: public BoundingBoxAttachment newBoundingBoxAttachment (Skin skin, String name) { 88- return new BoundingBoxAttachment(name); 89- } 90- 91- public ClippingAttachment newClippingAttachment (Skin skin, String name) { 92- return new ClippingAttachment(name); 93- } 94- 95- public PathAttachment newPathAttachment (Skin skin, String name) { 96- return new PathAttachment(name); - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:57 PathAttachment * AtlasAttachmentLoader::newPathAttachment(Skin & skin, const String & name) // returns nullable pointer: PathAttachment *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:88 88:PathAttachment *AtlasAttachmentLoader::newPathAttachment(Skin &skin, const String &name) { 89- SP_UNUSED(skin); 90- return new (__FILE__, __LINE__) PathAttachment(name); 91-} 92- 93-PointAttachment *AtlasAttachmentLoader::newPointAttachment(Skin &skin, const String &name) { 94- SP_UNUSED(skin); 95- return new (__FILE__, __LINE__) PointAttachment(name); 96-} 97-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:95 95: public PathAttachment newPathAttachment (Skin skin, String name) { 96- return new PathAttachment(name); 97- } 98- 99- public PointAttachment newPointAttachment (Skin skin, String name) { 100- return new PointAttachment(name); 101- } 102-} - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:59 PointAttachment * AtlasAttachmentLoader::newPointAttachment(Skin & skin, const String & name) // returns nullable pointer: PointAttachment *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:93 93:PointAttachment *AtlasAttachmentLoader::newPointAttachment(Skin &skin, const String &name) { 94- SP_UNUSED(skin); 95- return new (__FILE__, __LINE__) PointAttachment(name); 96-} 97- 98-ClippingAttachment *AtlasAttachmentLoader::newClippingAttachment(Skin &skin, const String &name) { 99- SP_UNUSED(skin); 100- return new (__FILE__, __LINE__) ClippingAttachment(name); 101-} 102-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:99 99: public PointAttachment newPointAttachment (Skin skin, String name) { 100- return new PointAttachment(name); 101- } 102-} - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:61 ClippingAttachment * AtlasAttachmentLoader::newClippingAttachment(Skin & skin, const String & name) // returns nullable pointer: ClippingAttachment *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:98 98:ClippingAttachment *AtlasAttachmentLoader::newClippingAttachment(Skin &skin, const String &name) { 99- SP_UNUSED(skin); 100- return new (__FILE__, __LINE__) ClippingAttachment(name); 101-} 102- 103-AtlasRegion *AtlasAttachmentLoader::findRegion(const String &name) { 104- return _atlas->findRegion(name); 105-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:91 91: public ClippingAttachment newClippingAttachment (Skin skin, String name) { 92- return new ClippingAttachment(name); 93- } 94- 95- public PathAttachment newPathAttachment (Skin skin, String name) { 96- return new PathAttachment(name); 97- } 98- 99- public PointAttachment newPointAttachment (Skin skin, String name) { 100- return new PointAttachment(name); - ../../spine-cpp/include/spine/AtlasAttachmentLoader.h:63 AtlasRegion * AtlasAttachmentLoader::findRegion(const String & name) // returns nullable pointer: AtlasRegion *
../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp:103 103:AtlasRegion *AtlasAttachmentLoader::findRegion(const String &name) { 104- return _atlas->findRegion(name); 105-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java:56 56: regions[i] = atlas.findRegion(path); 57- if (regions[i] == null) throw new RuntimeException("Region not found in atlas: " + path + " (sequence: " + name + ")"); 58- } 59- } 60- 61- public RegionAttachment newRegionAttachment (Skin skin, String name, String path, @Null Sequence sequence) { 62- var attachment = new RegionAttachment(name); 63- if (sequence != null) 64- loadSequence(name, path, sequence); 65- else { - ../../spine-cpp/include/spine/AtlasRegion.h:124 AtlasPage * AtlasRegion::getPage() // returns nullable pointer: AtlasPage *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/AtlasRegion.cppNOT FOUND - searched for class "AtlasRegion" (from C++ "AtlasRegion") and method "getPage" across all Java files - ../../spine-cpp/include/spine/AtlasRegion.h:175 void AtlasRegion::setPage(AtlasPage * value) // takes nullable parameter 'value': AtlasPage *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/AtlasRegion.cppNOT FOUND - searched for class "AtlasRegion" (from C++ "AtlasRegion") and method "setPage" across all Java files - ../../spine-cpp/include/spine/Attachment.h:48 Attachment * Attachment::copy() // returns nullable pointer: Attachment *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/PointAttachment.cpp, ../../spine-cpp/src/spine/RegionAttachment.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/Attachment.java:56 56: abstract public Attachment copy (); 57-} - ../../spine-cpp/include/spine/AttachmentLoader.h:63 RegionAttachment * AttachmentLoader::newRegionAttachment(Skin & skin, const String & name, const String & path, Sequence * sequence) // returns nullable pointer: RegionAttachment *; takes nullable parameter 'sequence': Sequence *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java:42 42: public @Null RegionAttachment newRegionAttachment (Skin skin, String name, String path, @Null Sequence sequence); 43- 44- /** @return May be null to not load the attachment. In that case null should also be returned for child meshes. */ 45- public @Null MeshAttachment newMeshAttachment (Skin skin, String name, String path, @Null Sequence sequence); 46- 47- /** @return May be null to not load the attachment. */ 48- public @Null BoundingBoxAttachment newBoundingBoxAttachment (Skin skin, String name); 49- 50- /** @return May be null to not load the attachment. */ 51- public @Null ClippingAttachment newClippingAttachment (Skin skin, String name); - ../../spine-cpp/include/spine/AttachmentLoader.h:66 MeshAttachment * AttachmentLoader::newMeshAttachment(Skin & skin, const String & name, const String & path, Sequence * sequence) // returns nullable pointer: MeshAttachment *; takes nullable parameter 'sequence': Sequence *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java:45 45: public @Null MeshAttachment newMeshAttachment (Skin skin, String name, String path, @Null Sequence sequence); 46- 47- /** @return May be null to not load the attachment. */ 48- public @Null BoundingBoxAttachment newBoundingBoxAttachment (Skin skin, String name); 49- 50- /** @return May be null to not load the attachment. */ 51- public @Null ClippingAttachment newClippingAttachment (Skin skin, String name); 52- 53- /** @return May be null to not load the attachment. */ 54- public @Null PathAttachment newPathAttachment (Skin skin, String name); - ../../spine-cpp/include/spine/AttachmentLoader.h:69 BoundingBoxAttachment * AttachmentLoader::newBoundingBoxAttachment(Skin & skin, const String & name) // returns nullable pointer: BoundingBoxAttachment *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java:48 48: public @Null BoundingBoxAttachment newBoundingBoxAttachment (Skin skin, String name); 49- 50- /** @return May be null to not load the attachment. */ 51- public @Null ClippingAttachment newClippingAttachment (Skin skin, String name); 52- 53- /** @return May be null to not load the attachment. */ 54- public @Null PathAttachment newPathAttachment (Skin skin, String name); 55- 56- /** @return May be null to not load the attachment. */ 57- public @Null PointAttachment newPointAttachment (Skin skin, String name); - ../../spine-cpp/include/spine/AttachmentLoader.h:72 PathAttachment * AttachmentLoader::newPathAttachment(Skin & skin, const String & name) // returns nullable pointer: PathAttachment *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java:54 54: public @Null PathAttachment newPathAttachment (Skin skin, String name); 55- 56- /** @return May be null to not load the attachment. */ 57- public @Null PointAttachment newPointAttachment (Skin skin, String name); 58-} - ../../spine-cpp/include/spine/AttachmentLoader.h:74 PointAttachment * AttachmentLoader::newPointAttachment(Skin & skin, const String & name) // returns nullable pointer: PointAttachment *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java:57 57: public @Null PointAttachment newPointAttachment (Skin skin, String name); 58-} - ../../spine-cpp/include/spine/AttachmentLoader.h:76 ClippingAttachment * AttachmentLoader::newClippingAttachment(Skin & skin, const String & name) // returns nullable pointer: ClippingAttachment *
PURE VIRTUAL - concrete implementations in: ../../spine-cpp/src/spine/AtlasAttachmentLoader.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java:51 51: public @Null ClippingAttachment newClippingAttachment (Skin skin, String name); 52- 53- /** @return May be null to not load the attachment. */ 54- public @Null PathAttachment newPathAttachment (Skin skin, String name); 55- 56- /** @return May be null to not load the attachment. */ 57- public @Null PointAttachment newPointAttachment (Skin skin, String name); 58-} - ../../spine-cpp/include/spine/Bone.h:85 Bone * Bone::getParent() // returns nullable pointer: Bone *
../../spine-cpp/src/spine/Bone.cpp:54 54:Bone *Bone::getParent() { 55- return _parent; 56-} 57- 58-Array<Bone *> &Bone::getChildren() { 59- return _children; 60-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java:60 60: public @Null Bone getParent () { 61- return parent; 62- } 63- 64- /** The immediate children of this bone. */ 65- public Array<Bone> getChildren () { 66- return children; 67- } 68-} - ../../spine-cpp/include/spine/BoneData.h:76 BoneData * BoneData::getParent() // returns nullable pointer: BoneData *
../../spine-cpp/src/spine/BoneData.cpp:45 45:BoneData *BoneData::getParent() { 46- return _parent; 47-} 48- 49-float BoneData::getLength() { 50- return _length; 51-} 52- 53-void BoneData::setLength(float inValue) { 54- _length = inValue;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java:66 66: public @Null BoneData getParent () { 67- return parent; 68- } 69- 70- /** The bone's length. */ 71- public float getLength () { 72- return length; 73- } 74- 75- public void setLength (float length) { - ../../spine-cpp/include/spine/BoundingBoxAttachment.h:47 Attachment & BoundingBoxAttachment::copy() // returns non-null reference: Attachment &
../../spine-cpp/src/spine/BoundingBoxAttachment.cpp:43 43:Attachment *BoundingBoxAttachment::copy() { 44- BoundingBoxAttachment *copy = new (__FILE__, __LINE__) BoundingBoxAttachment(getName()); 45- copyTo(copy); 46- return copy; 47-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/BoundingBoxAttachment.java:61 61: public BoundingBoxAttachment copy () { 62- return new BoundingBoxAttachment(this); 63- } 64-} - ../../spine-cpp/include/spine/ClippingAttachment.h:51 SlotData * ClippingAttachment::getEndSlot() // returns nullable pointer: SlotData *
../../spine-cpp/src/spine/ClippingAttachment.cpp:41 41:SlotData *ClippingAttachment::getEndSlot() { 42- return _endSlot; 43-} 44- 45-void ClippingAttachment::setEndSlot(SlotData *inValue) { 46- _endSlot = inValue; 47-} 48- 49-Color &ClippingAttachment::getColor() { 50- return _color;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/ClippingAttachment.java:57 57: public @Null SlotData getEndSlot () { 58- return endSlot; 59- } 60- 61- public void setEndSlot (@Null SlotData endSlot) { 62- this.endSlot = endSlot; 63- } 64- 65- /** The color of the clipping attachment as it was in Spine, or a default color if nonessential data was not exported. Clipping 66- * attachments are not usually rendered at runtime. */ - ../../spine-cpp/include/spine/ClippingAttachment.h:53 void ClippingAttachment::setEndSlot(SlotData * inValue) // takes nullable parameter 'inValue': SlotData *
../../spine-cpp/src/spine/ClippingAttachment.cpp:45 45:void ClippingAttachment::setEndSlot(SlotData *inValue) { 46- _endSlot = inValue; 47-} 48- 49-Color &ClippingAttachment::getColor() { 50- return _color; 51-} 52- 53-Attachment *ClippingAttachment::copy() { 54- ClippingAttachment *copy = new (__FILE__, __LINE__) ClippingAttachment(getName());../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/ClippingAttachment.java:61 61: public void setEndSlot (@Null SlotData endSlot) { 62- this.endSlot = endSlot; 63- } 64- 65- /** The color of the clipping attachment as it was in Spine, or a default color if nonessential data was not exported. Clipping 66- * attachments are not usually rendered at runtime. */ 67- public Color getColor () { 68- return color; 69- } 70- - ../../spine-cpp/include/spine/ClippingAttachment.h:57 Attachment & ClippingAttachment::copy() // returns non-null reference: Attachment &
../../spine-cpp/src/spine/ClippingAttachment.cpp:53 53:Attachment *ClippingAttachment::copy() { 54- ClippingAttachment *copy = new (__FILE__, __LINE__) ClippingAttachment(getName()); 55- copyTo(copy); 56- copy->_endSlot = _endSlot; 57- return copy; 58-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/ClippingAttachment.java:71 71: public ClippingAttachment copy () { 72- return new ClippingAttachment(this); 73- } 74-} - ../../spine-cpp/include/spine/ConstraintData.h:53 Constraint & ConstraintData::create(Skeleton & skeleton) // returns non-null reference: Constraint &
PURE VIRTUAL - no concrete subclasses found../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/ConstraintData.java:13 13: abstract public T create (Skeleton skeleton); 14-} - ../../spine-cpp/include/spine/ConstraintDataGeneric.h:69 Constraint & ConstraintDataGeneric::create(Skeleton & skeleton) // returns non-null reference: Constraint &
PURE VIRTUAL - no concrete subclasses found../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/ConstraintData.java:13 13: abstract public T create (Skeleton skeleton); 14-} - ../../spine-cpp/include/spine/DeformTimeline.h:56 VertexAttachment * DeformTimeline::getAttachment() // returns nullable pointer: VertexAttachment *
../../spine-cpp/src/spine/DeformTimeline.cpp:304 304:VertexAttachment *DeformTimeline::getAttachment() { 305- return _attachment; 306-} 307- 308-void DeformTimeline::setAttachment(VertexAttachment *inValue) { 309- _attachment = inValue; 310-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java:1406 1406: /** Changes a slot's {@link SlotPose#getAttachment()}. */ 1407- static public class AttachmentTimeline extends Timeline implements SlotTimeline { 1408- final int slotIndex; 1409- final String[] attachmentNames; 1410- 1411- public AttachmentTimeline (int frameCount, int slotIndex) { 1412- super(frameCount, Property.attachment.ordinal() + "|" + slotIndex); 1413- this.slotIndex = slotIndex; 1414- attachmentNames = new String[frameCount]; 1415- } - ../../spine-cpp/include/spine/DeformTimeline.h:58 void DeformTimeline::setAttachment(VertexAttachment * inValue) // takes nullable parameter 'inValue': VertexAttachment *
../../spine-cpp/src/spine/DeformTimeline.cpp:308 308:void DeformTimeline::setAttachment(VertexAttachment *inValue) { 309- _attachment = inValue; 310-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java:1446 1446: if (blend == setup) setAttachment(skeleton, pose, slot.data.attachmentName); 1447- } else if (time < this.frames[0]) { 1448: if (blend == setup || blend == first) setAttachment(skeleton, pose, slot.data.attachmentName); 1449- } else 1450: setAttachment(skeleton, pose, attachmentNames[search(this.frames, time)]); 1451- } 1452- 1453: private void setAttachment (Skeleton skeleton, SlotPose pose, @Null String attachmentName) { 1454: pose.setAttachment(attachmentName == null ? null : skeleton.getAttachment(slotIndex, attachmentName)); 1455- } - ../../spine-cpp/include/spine/EventTimeline.h:60 void EventTimeline::setFrame(size_t frame, Event * event) // takes nullable parameter 'event': Event *
../../spine-cpp/src/spine/EventTimeline.cpp:93 93:void EventTimeline::setFrame(size_t frame, Event *event) { 94- _frames[frame] = event->getTime(); 95- _events[frame] = event; 96-} 97- 98-size_t EventTimeline::getFrameCount() { 99- return _frames.size(); 100-} 101- 102-Array<Event *> &EventTimeline::getEvents() {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java:413 413: public void setFrame (int frame, float time, float value) { 414- frame <<= 1; 415- frames[frame] = time; 416- frames[frame + VALUE] = value; 417- } 418- 419- /** Returns the interpolated value for the specified time. */ 420- public float getCurveValue (float time) { 421- float[] frames = this.frames; 422- int i = frames.length - 2; - ../../spine-cpp/include/spine/IkConstraint.h:54 IkConstraint * IkConstraint::copy(Skeleton & skeleton) // returns nullable pointer: IkConstraint *
../../spine-cpp/src/spine/IkConstraint.cpp:54 54:IkConstraint *IkConstraint::copy(Skeleton &skeleton) { 55- IkConstraint *copy = new (__FILE__, __LINE__) IkConstraint(_data, skeleton); 56- copy->_pose.set(_pose); 57- return copy; 58-} 59- 60-void IkConstraint::update(Skeleton &skeleton, Physics physics) { 61- IkConstraintPose &p = *_applied; 62- if (p._mix == 0) return; 63- BonePose &target = *_target->_applied;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java:57 57: public IkConstraint copy (Skeleton skeleton) { 58- var copy = new IkConstraint(data, skeleton); 59- copy.pose.set(pose); 60- return copy; 61- } 62- 63- /** Applies the constraint to the constrained bones. */ 64- public void update (Skeleton skeleton, Physics physics) { 65- IkConstraintPose p = applied; 66- if (p.mix == 0) return; - ../../spine-cpp/include/spine/IkConstraint.h:66 Bone * IkConstraint::getTarget() // returns nullable pointer: Bone *
../../spine-cpp/src/spine/IkConstraint.cpp:94 94:Bone *IkConstraint::getTarget() { 95- return _target; 96-} 97- 98-void IkConstraint::setTarget(Bone *target) { 99- _target = target; 100-} 101- 102-bool IkConstraint::isSourceActive() { 103- return _target->_active;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java:97 97: public Bone getTarget () { 98- return target; 99- } 100- 101- public void setTarget (Bone target) { 102- if (target == null) throw new IllegalArgumentException("target cannot be null."); 103- this.target = target; 104- } 105- 106- /** Applies 1 bone IK. The target is specified in the world coordinate system. */ - ../../spine-cpp/include/spine/IkConstraint.h:68 void IkConstraint::setTarget(Bone * inValue) // takes nullable parameter 'inValue': Bone *
../../spine-cpp/src/spine/IkConstraint.cpp:98 98:void IkConstraint::setTarget(Bone *target) { 99- _target = target; 100-} 101- 102-bool IkConstraint::isSourceActive() { 103- return _target->_active; 104-} 105- 106-void IkConstraint::apply(Skeleton &skeleton, BonePose &bone, float targetX, float targetY, bool compress, bool stretch, bool uniform, float mix) { 107- bone.modifyLocal(skeleton);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java:101 101: public void setTarget (Bone target) { 102- if (target == null) throw new IllegalArgumentException("target cannot be null."); 103- this.target = target; 104- } 105- 106- /** Applies 1 bone IK. The target is specified in the world coordinate system. */ 107- static public void apply (Skeleton skeleton, BonePose bone, float targetX, float targetY, boolean compress, boolean stretch, 108- boolean uniform, float mix) { 109- if (bone == null) throw new IllegalArgumentException("bone cannot be null."); 110- bone.modifyLocal(skeleton); - ../../spine-cpp/include/spine/IkConstraintData.h:60 Constraint * IkConstraintData::create(Skeleton & skeleton) // returns nullable pointer: Constraint *
../../spine-cpp/src/spine/IkConstraintData.cpp:62 62:Constraint *IkConstraintData::create(Skeleton &skeleton) { 63- return new (__FILE__, __LINE__) IkConstraint(*this, skeleton); 64-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java:46 46: public IkConstraint create (Skeleton skeleton) { 47- return new IkConstraint(this, skeleton); 48- } 49- 50- /** The bones that are constrained by this IK constraint. */ 51- public Array<BoneData> getBones () { 52- return bones; 53- } 54- 55- /** The bone that is the IK target. */ - ../../spine-cpp/include/spine/IkConstraintData.h:66 BoneData * IkConstraintData::getTarget() // returns nullable pointer: BoneData *
../../spine-cpp/src/spine/IkConstraintData.cpp:46 46:BoneData *IkConstraintData::getTarget() { 47- return _target; 48-} 49- 50-void IkConstraintData::setTarget(BoneData *inValue) { 51- _target = inValue; 52-} 53- 54-bool IkConstraintData::getUniform() { 55- return _uniform;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java:56 56: public BoneData getTarget () { 57- return target; 58- } 59- 60- public void setTarget (BoneData target) { 61- if (target == null) throw new IllegalArgumentException("target cannot be null."); 62- this.target = target; 63- } 64- 65- /** When true and {@link IkConstraintPose#getCompress()} or {@link IkConstraintPose#getStretch()} is used, the bone is scaled - ../../spine-cpp/include/spine/IkConstraintData.h:68 void IkConstraintData::setTarget(BoneData * inValue) // takes nullable parameter 'inValue': BoneData *
../../spine-cpp/src/spine/IkConstraintData.cpp:50 50:void IkConstraintData::setTarget(BoneData *inValue) { 51- _target = inValue; 52-} 53- 54-bool IkConstraintData::getUniform() { 55- return _uniform; 56-} 57- 58-void IkConstraintData::setUniform(bool uniform) { 59- _uniform = uniform;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java:60 60: public void setTarget (BoneData target) { 61- if (target == null) throw new IllegalArgumentException("target cannot be null."); 62- this.target = target; 63- } 64- 65- /** When true and {@link IkConstraintPose#getCompress()} or {@link IkConstraintPose#getStretch()} is used, the bone is scaled 66- * on both the X and Y axes. */ 67- public boolean getUniform () { 68- return uniform; 69- } - ../../spine-cpp/include/spine/MeshAttachment.h:84 TextureRegion * MeshAttachment::getRegion() // returns nullable pointer: TextureRegion *
../../spine-cpp/src/spine/MeshAttachment.cpp:128 128:Array<float> &MeshAttachment::getRegionUVs() { 129- return _regionUVs; 130-} 131- 132-void MeshAttachment::setRegionUVs(Array<float> &inValue) { 133- _regionUVs.clearAndAddAll(inValue); 134-} 135- 136-Array<float> &MeshAttachment::getUVs() { 137- return _uvs;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:100 100: public @Null TextureRegion getRegion () { 101- return region; 102- } 103- 104- /** Calculates {@link #uvs} using the {@link #regionUVs} and region. Must be called if the region, the region's properties, or 105- * the {@link #regionUVs} are changed. */ 106- public void updateRegion () { 107- float[] regionUVs = this.regionUVs; 108- if (this.uvs == null || this.uvs.length != regionUVs.length) this.uvs = new float[regionUVs.length]; 109- float[] uvs = this.uvs; - ../../spine-cpp/include/spine/MeshAttachment.h:86 void MeshAttachment::setRegion(TextureRegion * region) // takes nullable parameter 'region': TextureRegion *
../../spine-cpp/src/spine/MeshAttachment.cpp:132 132:void MeshAttachment::setRegionUVs(Array<float> &inValue) { 133- _regionUVs.clearAndAddAll(inValue); 134-} 135- 136-Array<float> &MeshAttachment::getUVs() { 137- return _uvs; 138-} 139- 140-Array<unsigned short> &MeshAttachment::getTriangles() { 141- return _triangles;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:95 95: public void setRegion (TextureRegion region) { 96- if (region == null) throw new IllegalArgumentException("region cannot be null."); 97- this.region = region; 98- } 99- 100- public @Null TextureRegion getRegion () { 101- return region; 102- } 103- 104- /** Calculates {@link #uvs} using the {@link #regionUVs} and region. Must be called if the region, the region's properties, or - ../../spine-cpp/include/spine/MeshAttachment.h:88 Sequence * MeshAttachment::getSequence() // returns nullable pointer: Sequence *
../../spine-cpp/src/spine/MeshAttachment.cpp:164 164:Sequence *MeshAttachment::getSequence() { 165- return _sequence; 166-} 167- 168-void MeshAttachment::setSequence(Sequence *sequence) { 169- _sequence = sequence; 170-} 171- 172-MeshAttachment *MeshAttachment::getParentMesh() { 173- return _parentMesh;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:258 258: public @Null Sequence getSequence () { 259- return sequence; 260- } 261- 262- public void setSequence (@Null Sequence sequence) { 263- this.sequence = sequence; 264- } 265- 266- /** The parent mesh if this is a linked mesh, else null. A linked mesh shares the {@link #bones}, {@link #vertices}, 267- * {@link #regionUVs}, {@link #triangles}, {@link #hullLength}, {@link #edges}, {@link #width}, and {@link #height} with the - ../../spine-cpp/include/spine/MeshAttachment.h:90 void MeshAttachment::setSequence(Sequence * sequence) // takes nullable parameter 'sequence': Sequence *
../../spine-cpp/src/spine/MeshAttachment.cpp:168 168:void MeshAttachment::setSequence(Sequence *sequence) { 169- _sequence = sequence; 170-} 171- 172-MeshAttachment *MeshAttachment::getParentMesh() { 173- return _parentMesh; 174-} 175- 176-void MeshAttachment::setParentMesh(MeshAttachment *inValue) { 177- _parentMesh = inValue;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:262 262: public void setSequence (@Null Sequence sequence) { 263- this.sequence = sequence; 264- } 265- 266- /** The parent mesh if this is a linked mesh, else null. A linked mesh shares the {@link #bones}, {@link #vertices}, 267- * {@link #regionUVs}, {@link #triangles}, {@link #hullLength}, {@link #edges}, {@link #width}, and {@link #height} with the 268- * parent mesh, but may have a different {@link #name} or {@link #path} (and therefore a different texture). */ 269- public @Null MeshAttachment getParentMesh () { 270- return parentMesh; 271- } - ../../spine-cpp/include/spine/MeshAttachment.h:92 MeshAttachment * MeshAttachment::getParentMesh() // returns nullable pointer: MeshAttachment *
../../spine-cpp/src/spine/MeshAttachment.cpp:172 172:MeshAttachment *MeshAttachment::getParentMesh() { 173- return _parentMesh; 174-} 175- 176-void MeshAttachment::setParentMesh(MeshAttachment *inValue) { 177- _parentMesh = inValue; 178- if (inValue != NULL) { 179- _bones.clearAndAddAll(inValue->_bones); 180- _vertices.clearAndAddAll(inValue->_vertices); 181- _worldVerticesLength = inValue->_worldVerticesLength;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:269 269: public @Null MeshAttachment getParentMesh () { 270- return parentMesh; 271- } 272- 273- public void setParentMesh (@Null MeshAttachment parentMesh) { 274- this.parentMesh = parentMesh; 275- if (parentMesh != null) { 276- bones = parentMesh.bones; 277- vertices = parentMesh.vertices; 278- regionUVs = parentMesh.regionUVs; - ../../spine-cpp/include/spine/MeshAttachment.h:94 void MeshAttachment::setParentMesh(MeshAttachment * inValue) // takes nullable parameter 'inValue': MeshAttachment *
../../spine-cpp/src/spine/MeshAttachment.cpp:176 176:void MeshAttachment::setParentMesh(MeshAttachment *inValue) { 177- _parentMesh = inValue; 178- if (inValue != NULL) { 179- _bones.clearAndAddAll(inValue->_bones); 180- _vertices.clearAndAddAll(inValue->_vertices); 181- _worldVerticesLength = inValue->_worldVerticesLength; 182- _regionUVs.clearAndAddAll(inValue->_regionUVs); 183- _triangles.clearAndAddAll(inValue->_triangles); 184- _hullLength = inValue->_hullLength; 185- _edges.clearAndAddAll(inValue->_edges);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:273 273: public void setParentMesh (@Null MeshAttachment parentMesh) { 274- this.parentMesh = parentMesh; 275- if (parentMesh != null) { 276- bones = parentMesh.bones; 277- vertices = parentMesh.vertices; 278- regionUVs = parentMesh.regionUVs; 279- triangles = parentMesh.triangles; 280- hullLength = parentMesh.hullLength; 281- worldVerticesLength = parentMesh.worldVerticesLength; 282- edges = parentMesh.edges; - ../../spine-cpp/include/spine/MeshAttachment.h:109 Attachment * MeshAttachment::copy() // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/MeshAttachment.cpp:219 219:Attachment *MeshAttachment::copy() { 220- if (_parentMesh) return newLinkedMesh(); 221- 222- MeshAttachment *copy = new (__FILE__, __LINE__) MeshAttachment(getName()); 223- copy->setRegion(_region); 224- copy->setSequence(_sequence != NULL ? _sequence->copy() : NULL); 225- copy->_path = _path; 226- copy->_color.set(_color); 227- 228- copyTo(copy);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:300 300: public MeshAttachment copy () { 301- return parentMesh != null ? newLinkedMesh() : new MeshAttachment(this); 302- } 303-} - ../../spine-cpp/include/spine/MeshAttachment.h:111 MeshAttachment * MeshAttachment::newLinkedMesh() // returns nullable pointer: MeshAttachment *
../../spine-cpp/src/spine/MeshAttachment.cpp:241 241:MeshAttachment *MeshAttachment::newLinkedMesh() { 242- MeshAttachment *copy = new (__FILE__, __LINE__) MeshAttachment(getName()); 243- copy->setRegion(_region); 244- copy->_path = _path; 245- copy->_color.set(_color); 246- copy->_timelineAttachment = this->_timelineAttachment; 247- copy->setParentMesh(_parentMesh ? _parentMesh : this); 248- if (copy->_region) copy->updateRegion(); 249- return copy; 250-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java:64 64: /** Copy constructor. Use {@link #newLinkedMesh()} if the other mesh is a linked mesh. */ 65- protected MeshAttachment (MeshAttachment other) { 66- super(other); 67- 68- if (parentMesh != null) throw new IllegalArgumentException("Use newLinkedMesh to copy a linked mesh."); 69- 70- region = other.region; 71- path = other.path; 72- color.set(other.color); 73- - ../../spine-cpp/include/spine/PathAttachment.h:62 Attachment * PathAttachment::copy() // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/PathAttachment.cpp:67 67:Attachment *PathAttachment::copy() { 68- PathAttachment *copy = new (__FILE__, __LINE__) PathAttachment(getName()); 69- copyTo(copy); 70- copy->_lengths.clearAndAddAll(_lengths); 71- copy->_closed = _closed; 72- copy->_constantSpeed = _constantSpeed; 73- return copy; 74-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/PathAttachment.java:98 98: public PathAttachment copy () { 99- return new PathAttachment(this); 100- } 101-} - ../../spine-cpp/include/spine/PathConstraint.h:67 PathConstraint * PathConstraint::copy(Skeleton & skeleton) // returns nullable pointer: PathConstraint *
../../spine-cpp/src/spine/PathConstraint.cpp:67 67:PathConstraint *PathConstraint::copy(Skeleton &skeleton) { 68- PathConstraint *copy = new (__FILE__, __LINE__) PathConstraint(_data, skeleton); 69- copy->_pose.set(_pose); 70- return copy; 71-} 72- 73-void PathConstraint::update(Skeleton &skeleton, Physics physics) { 74- Attachment *baseAttachment = _slot->_applied->_attachment; 75- if (baseAttachment == NULL || !baseAttachment->getRTTI().instanceOf(PathAttachment::rtti)) { 76- return;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java:72 72: public PathConstraint copy (Skeleton skeleton) { 73- var copy = new PathConstraint(data, skeleton); 74- copy.pose.set(pose); 75- return copy; 76- } 77- 78- /** Applies the constraint to the constrained bones. */ 79- public void update (Skeleton skeleton, Physics physics) { 80- if (!(slot.applied.attachment instanceof PathAttachment pathAttachment)) return; 81- - ../../spine-cpp/include/spine/PathConstraint.h:80 Slot * PathConstraint::getSlot() // returns nullable pointer: Slot *
../../spine-cpp/src/spine/PathConstraint.cpp:247 247:Slot *PathConstraint::getSlot() { 248- return _slot; 249-} 250- 251-void PathConstraint::setSlot(Slot *slot) { 252- _slot = slot; 253-} 254- 255-Array<float> &PathConstraint::computeWorldPositions(Skeleton &skeleton, PathAttachment &path, int spacesCount, bool tangents) { 256- float position = _applied->_position;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java:517 517: public Slot getSlot () { 518- return slot; 519- } 520- 521- public void setSlot (Slot slot) { 522- if (slot == null) throw new IllegalArgumentException("slot cannot be null."); 523- this.slot = slot; 524- } 525-} - ../../spine-cpp/include/spine/PathConstraint.h:82 void PathConstraint::setSlot(Slot * slot) // takes nullable parameter 'slot': Slot *
../../spine-cpp/src/spine/PathConstraint.cpp:251 251:void PathConstraint::setSlot(Slot *slot) { 252- _slot = slot; 253-} 254- 255-Array<float> &PathConstraint::computeWorldPositions(Skeleton &skeleton, PathAttachment &path, int spacesCount, bool tangents) { 256- float position = _applied->_position; 257- float *spaces = _spaces.buffer(); 258- _positions.setSize(spacesCount * 3 + 2, 0); 259- Array<float> &out = _positions; 260- Array<float> &world = _world;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java:521 521: public void setSlot (Slot slot) { 522- if (slot == null) throw new IllegalArgumentException("slot cannot be null."); 523- this.slot = slot; 524- } 525-} - ../../spine-cpp/include/spine/PathConstraintData.h:70 Constraint * PathConstraintData::create(Skeleton & skeleton) // returns nullable pointer: Constraint *
../../spine-cpp/src/spine/PathConstraintData.cpp:90 90:Constraint *PathConstraintData::create(Skeleton &skeleton) { 91- return new (__FILE__, __LINE__) PathConstraint(*this, skeleton); 92-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraintData.java:49 49: public PathConstraint create (Skeleton skeleton) { 50- return new PathConstraint(this, skeleton); 51- } 52- 53- /** The bones that will be modified by this path constraint. */ 54- public Array<BoneData> getBones () { 55- return bones; 56- } 57- 58- /** The slot whose path attachment will be used to constrained the bones. */ - ../../spine-cpp/include/spine/PathConstraintData.h:77 SlotData * PathConstraintData::getSlot() // returns nullable pointer: SlotData *
../../spine-cpp/src/spine/PathConstraintData.cpp:50 50:SlotData *PathConstraintData::getSlot() { 51- return _slot; 52-} 53- 54-void PathConstraintData::setSlot(SlotData *slot) { 55- _slot = slot; 56-} 57- 58-PositionMode PathConstraintData::getPositionMode() { 59- return _positionMode;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraintData.java:59 59: public SlotData getSlot () { 60- return slot; 61- } 62- 63- public void setSlot (SlotData slot) { 64- if (slot == null) throw new IllegalArgumentException("slot cannot be null."); 65- this.slot = slot; 66- } 67- 68- /** The mode for positioning the first bone on the path. */ - ../../spine-cpp/include/spine/PathConstraintData.h:79 void PathConstraintData::setSlot(SlotData * slot) // takes nullable parameter 'slot': SlotData *
../../spine-cpp/src/spine/PathConstraintData.cpp:54 54:void PathConstraintData::setSlot(SlotData *slot) { 55- _slot = slot; 56-} 57- 58-PositionMode PathConstraintData::getPositionMode() { 59- return _positionMode; 60-} 61- 62-void PathConstraintData::setPositionMode(PositionMode positionMode) { 63- _positionMode = positionMode;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraintData.java:63 63: public void setSlot (SlotData slot) { 64- if (slot == null) throw new IllegalArgumentException("slot cannot be null."); 65- this.slot = slot; 66- } 67- 68- /** The mode for positioning the first bone on the path. */ 69- public PositionMode getPositionMode () { 70- return positionMode; 71- } 72- - ../../spine-cpp/include/spine/PhysicsConstraint.h:67 PhysicsConstraint * PhysicsConstraint::copy(Skeleton & skeleton) // returns nullable pointer: PhysicsConstraint *
../../spine-cpp/src/spine/PhysicsConstraint.cpp:52 52:PhysicsConstraint *PhysicsConstraint::copy(Skeleton &skeleton) { 53- PhysicsConstraint *copy = new (__FILE__, __LINE__) PhysicsConstraint(_data, skeleton); 54- copy->_pose.set(_pose); 55- return copy; 56-} 57- 58-void PhysicsConstraint::reset(Skeleton &skeleton) { 59- _remaining = 0; 60- _lastTime = skeleton.getTime(); 61- _reset = true;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraint.java:55 55: public PhysicsConstraint copy (Skeleton skeleton) { 56- var copy = new PhysicsConstraint(data, skeleton); 57- copy.pose.set(pose); 58- return copy; 59- } 60- 61- public void reset (Skeleton skeleton) { 62- remaining = 0; 63- lastTime = skeleton.time; 64- reset = true; - ../../spine-cpp/include/spine/PhysicsConstraintData.h:54 Constraint * PhysicsConstraintData::create(Skeleton & skeleton) // returns nullable pointer: Constraint *
../../spine-cpp/src/spine/PhysicsConstraintData.cpp:165 165:Constraint *PhysicsConstraintData::create(Skeleton &skeleton) { 166- return new (__FILE__, __LINE__) PhysicsConstraint(*this, skeleton); 167-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraintData.java:44 44: public PhysicsConstraint create (Skeleton skeleton) { 45- return new PhysicsConstraint(this, skeleton); 46- } 47- 48- /** The bone constrained by this physics constraint. */ 49- public BoneData getBone () { 50- return bone; 51- } 52- 53- public void setBone (BoneData bone) { - ../../spine-cpp/include/spine/PhysicsConstraintData.h:57 BoneData * PhysicsConstraintData::getBone() // returns nullable pointer: BoneData *
../../spine-cpp/src/spine/PhysicsConstraintData.cpp:45 45:BoneData *PhysicsConstraintData::getBone() { 46- return _bone; 47-} 48- 49-void PhysicsConstraintData::setBone(BoneData *bone) { 50- _bone = bone; 51-} 52- 53-float PhysicsConstraintData::getStep() { 54- return _step;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraintData.java:49 49: public BoneData getBone () { 50- return bone; 51- } 52- 53- public void setBone (BoneData bone) { 54- this.bone = bone; 55- } 56- 57- public float getStep () { 58- return step; - ../../spine-cpp/include/spine/PhysicsConstraintData.h:58 void PhysicsConstraintData::setBone(BoneData * bone) // takes nullable parameter 'bone': BoneData *
../../spine-cpp/src/spine/PhysicsConstraintData.cpp:49 49:void PhysicsConstraintData::setBone(BoneData *bone) { 50- _bone = bone; 51-} 52- 53-float PhysicsConstraintData::getStep() { 54- return _step; 55-} 56- 57-void PhysicsConstraintData::setStep(float step) { 58- _step = step;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PhysicsConstraintData.java:53 53: public void setBone (BoneData bone) { 54- this.bone = bone; 55- } 56- 57- public float getStep () { 58- return step; 59- } 60- 61- public void setStep (float step) { 62- this.step = step; - ../../spine-cpp/include/spine/PointAttachment.h:74 Attachment * PointAttachment::copy() // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/PointAttachment.cpp:83 83:Attachment *PointAttachment::copy() { 84- PointAttachment *copy = new (__FILE__, __LINE__) PointAttachment(getName()); 85- copy->_x = _x; 86- copy->_y = _y; 87- copy->_rotation = _rotation; 88- copy->_color.set(_color); 89- return copy; 90-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/PointAttachment.java:106 106: public PointAttachment copy () { 107- return new PointAttachment(this); 108- } 109-} - ../../spine-cpp/include/spine/RegionAttachment.h:105 TextureRegion * RegionAttachment::getRegion() // returns nullable pointer: TextureRegion *
../../spine-cpp/src/spine/RegionAttachment.cpp:241 241:TextureRegion *RegionAttachment::getRegion() { 242- return _region; 243-} 244- 245-void RegionAttachment::setRegion(TextureRegion *region) { 246- _region = region; 247-} 248- 249-Sequence *RegionAttachment::getSequence() { 250- return _sequence;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java:163 163: public @Null TextureRegion getRegion () { 164- return region; 165- } 166- 167- /** Transforms the attachment's four vertices to world coordinates. If the attachment has a {@link #sequence}, the region may 168- * be changed. 169- * <p> 170- * See <a href="https://esotericsoftware.com/spine-runtime-skeletons#World-transforms">World transforms</a> in the Spine 171- * Runtimes Guide. 172- * @param worldVertices The output world vertices. Must have a length >= <code>offset</code> + 8. - ../../spine-cpp/include/spine/RegionAttachment.h:107 void RegionAttachment::setRegion(TextureRegion * region) // takes nullable parameter 'region': TextureRegion *
../../spine-cpp/src/spine/RegionAttachment.cpp:245 245:void RegionAttachment::setRegion(TextureRegion *region) { 246- _region = region; 247-} 248- 249-Sequence *RegionAttachment::getSequence() { 250- return _sequence; 251-} 252- 253-void RegionAttachment::setSequence(Sequence *sequence) { 254- _sequence = sequence;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java:158 158: public void setRegion (TextureRegion region) { 159- if (region == null) throw new IllegalArgumentException("region cannot be null."); 160- this.region = region; 161- } 162- 163- public @Null TextureRegion getRegion () { 164- return region; 165- } 166- 167- /** Transforms the attachment's four vertices to world coordinates. If the attachment has a {@link #sequence}, the region may - ../../spine-cpp/include/spine/RegionAttachment.h:109 Sequence * RegionAttachment::getSequence() // returns nullable pointer: Sequence *
../../spine-cpp/src/spine/RegionAttachment.cpp:249 249:Sequence *RegionAttachment::getSequence() { 250- return _sequence; 251-} 252- 253-void RegionAttachment::setSequence(Sequence *sequence) { 254- _sequence = sequence; 255-} 256- 257-Array<float> &RegionAttachment::getOffset() { 258- return _offset;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java:294 294: public @Null Sequence getSequence () { 295- return sequence; 296- } 297- 298- public void setSequence (@Null Sequence sequence) { 299- this.sequence = sequence; 300- } 301- 302- public RegionAttachment copy () { 303- return new RegionAttachment(this); - ../../spine-cpp/include/spine/RegionAttachment.h:111 void RegionAttachment::setSequence(Sequence * sequence) // takes nullable parameter 'sequence': Sequence *
../../spine-cpp/src/spine/RegionAttachment.cpp:253 253:void RegionAttachment::setSequence(Sequence *sequence) { 254- _sequence = sequence; 255-} 256- 257-Array<float> &RegionAttachment::getOffset() { 258- return _offset; 259-} 260- 261-Array<float> &RegionAttachment::getUVs() { 262- return _uvs;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java:298 298: public void setSequence (@Null Sequence sequence) { 299- this.sequence = sequence; 300- } 301- 302- public RegionAttachment copy () { 303- return new RegionAttachment(this); 304- } 305-} - ../../spine-cpp/include/spine/RegionAttachment.h:117 Attachment * RegionAttachment::copy() // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/RegionAttachment.cpp:269 269:Attachment *RegionAttachment::copy() { 270- RegionAttachment *copy = new (__FILE__, __LINE__) RegionAttachment(getName()); 271- copy->_region = _region; 272- copy->_path = _path; 273- copy->_x = _x; 274- copy->_y = _y; 275- copy->_scaleX = _scaleX; 276- copy->_scaleY = _scaleY; 277- copy->_rotation = _rotation; 278- copy->_width = _width;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java:302 302: public RegionAttachment copy () { 303- return new RegionAttachment(this); 304- } 305-} - ../../spine-cpp/include/spine/Sequence.h:54 Sequence * Sequence::copy() // returns nullable pointer: Sequence *
../../spine-cpp/src/spine/Sequence.cpp:48 48:Sequence *Sequence::copy() { 49- Sequence *copy = new (__FILE__, __LINE__) Sequence((int) _regions.size()); 50- for (size_t i = 0; i < _regions.size(); i++) { 51- copy->_regions[i] = _regions[i]; 52- } 53- copy->_start = _start; 54- copy->_digits = _digits; 55- copy->_setupIndex = _setupIndex; 56- return copy; 57-}NOT FOUND - searched for class "Sequence" (from C++ "Sequence") and method "copy" across all Java files - ../../spine-cpp/include/spine/Sequence.h:56 void Sequence::apply(SlotPose * slot, Attachment * attachment) // takes nullable parameter 'slot': SlotPose *; takes nullable parameter 'attachment': Attachment *
../../spine-cpp/src/spine/Sequence.cpp:59 59:void Sequence::apply(SlotPose *slot, Attachment *attachment) { 60- int index = slot->getSequenceIndex(); 61- if (index == -1) index = _setupIndex; 62- if (index >= (int) _regions.size()) index = (int) _regions.size() - 1; 63- TextureRegion *region = _regions[index]; 64- 65- if (attachment->getRTTI().isExactly(RegionAttachment::rtti)) { 66- RegionAttachment *regionAttachment = static_cast<RegionAttachment *>(attachment); 67- if (regionAttachment->getRegion() != region) { 68- regionAttachment->setRegion(region);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/Sequence.java:59 59: public void apply (SlotPose slot, HasTextureRegion attachment) { 60- int index = slot.getSequenceIndex(); 61- if (index == -1) index = setupIndex; 62- if (index >= regions.length) index = regions.length - 1; 63- TextureRegion region = regions[index]; 64- if (attachment.getRegion() != region) { 65- attachment.setRegion(region); 66- attachment.updateRegion(); 67- } 68- } - ../../spine-cpp/include/spine/SequenceTimeline.h:62 Attachment * SequenceTimeline::getAttachment() // returns nullable pointer: Attachment *
NOT FOUND - searched for pattern "SequenceTimeline::getAttachment" in ../../spine-cpp/src/spine/SequenceTimeline.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java:1406 1406: /** Changes a slot's {@link SlotPose#getAttachment()}. */ 1407- static public class AttachmentTimeline extends Timeline implements SlotTimeline { 1408- final int slotIndex; 1409- final String[] attachmentNames; 1410- 1411- public AttachmentTimeline (int frameCount, int slotIndex) { 1412- super(frameCount, Property.attachment.ordinal() + "|" + slotIndex); 1413- this.slotIndex = slotIndex; 1414- attachmentNames = new String[frameCount]; 1415- } - ../../spine-cpp/include/spine/Skeleton.h:166 void Skeleton::sortBone(Bone * bone) // takes nullable parameter 'bone': Bone *
../../spine-cpp/src/spine/Skeleton.cpp:194 194:void Skeleton::sortBone(Bone *bone) { 195- if (bone->_sorted || !bone->_active) return; 196- Bone *parent = bone->_parent; 197- if (parent != NULL) sortBone(parent); 198- bone->_sorted = true; 199- _updateCache.add((Update *) bone); 200-} 201- 202-void Skeleton::sortReset(Array<Bone *> &bones) { 203- Bone **items = bones.buffer();../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:193 193: sortBone(bones[i]); 194- 195- Object[] updateCache = this.updateCache.items; 196- n = this.updateCache.size; 197- for (int i = 0; i < n; i++) 198- if (updateCache[i] instanceof Bone bone) updateCache[i] = bone.applied; 199- } 200- 201- void constrained (Posed object) { 202- if (object.pose == object.applied) { - ../../spine-cpp/include/spine/Skeleton.h:176 void Skeleton::updateWorldTransform(Physics physics, BonePose * parent) // takes nullable parameter 'parent': BonePose *
../../spine-cpp/src/spine/Skeleton.cpp:213 213:void Skeleton::updateWorldTransform(Physics physics) { 214- _update++; 215- 216- Posed **resetCache = _resetCache.buffer(); 217- for (size_t i = 0, n = _resetCache.size(); i < n; i++) { 218- resetCache[i]->resetConstrained(); 219- } 220- 221- Update **updateCache = _updateCache.buffer(); 222- for (size_t i = 0, n = _updateCache.size(); i < n; i++) {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:231 231: public void updateWorldTransform (Physics physics) { 232- update++; 233- 234- Posed[] resetCache = this.resetCache.items; 235- for (int i = 0, n = this.resetCache.size; i < n; i++) 236- resetCache[i].reset(); 237- 238- Object[] updateCache = this.updateCache.items; 239- for (int i = 0, n = this.updateCache.size; i < n; i++) 240- ((Update)updateCache[i]).update(this, physics); - ../../spine-cpp/include/spine/Skeleton.h:186 SkeletonData * Skeleton::getData() // returns nullable pointer: SkeletonData *
../../spine-cpp/src/spine/Skeleton.cpp:293 293:SkeletonData *Skeleton::getData() { 294- return &_data; 295-} 296- 297-Array<Bone *> &Skeleton::getBones() { 298- return _bones; 299-} 300- 301-Array<Update *> &Skeleton::getUpdateCache() { 302- return _updateCache;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:309 309: public SkeletonData getData () { 310- return data; 311- } 312- 313- /** The skeleton's bones, sorted parent first. The root bone is always the first bone. */ 314- public Array<Bone> getBones () { 315- return bones; 316- } 317- 318- /** The list of bones and constraints, sorted in the order they should be updated, as computed by {@link #updateCache()}. */ - ../../spine-cpp/include/spine/Skeleton.h:192 Bone * Skeleton::getRootBone() // returns nullable pointer: Bone *
../../spine-cpp/src/spine/Skeleton.cpp:305 305:Bone *Skeleton::getRootBone() { 306- return _bones.size() == 0 ? NULL : _bones[0]; 307-} 308- 309-Bone *Skeleton::findBone(const String &boneName) { 310- if (boneName.isEmpty()) return NULL; 311- Bone **bones = _bones.buffer(); 312- for (size_t i = 0, n = _bones.size(); i < n; i++) { 313- if (bones[i]->_data.getName() == boneName) return bones[i]; 314- }../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:258 258: BonePose rootBone = getRootBone().applied; 259- float pa = parent.a, pb = parent.b, pc = parent.c, pd = parent.d; 260- rootBone.worldX = pa * x + pb * y + parent.worldX; 261- rootBone.worldY = pc * x + pd * y + parent.worldY; 262- 263- float rx = (rootBone.rotation + rootBone.shearX) * degRad; 264- float ry = (rootBone.rotation + 90 + rootBone.shearY) * degRad; 265- float la = cos(rx) * rootBone.scaleX; 266- float lb = cos(ry) * rootBone.scaleY; 267- float lc = sin(rx) * rootBone.scaleX; - ../../spine-cpp/include/spine/Skeleton.h:195 Bone * Skeleton::findBone(const String & boneName) // returns nullable pointer: Bone *
../../spine-cpp/src/spine/Skeleton.cpp:309 309:Bone *Skeleton::findBone(const String &boneName) { 310- if (boneName.isEmpty()) return NULL; 311- Bone **bones = _bones.buffer(); 312- for (size_t i = 0, n = _bones.size(); i < n; i++) { 313- if (bones[i]->_data.getName() == boneName) return bones[i]; 314- } 315- return NULL; 316-} 317- 318-Array<Slot *> &Skeleton::getSlots() {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:330 330: public @Null Bone findBone (String boneName) { 331- if (boneName == null) throw new IllegalArgumentException("boneName cannot be null."); 332- Bone[] bones = this.bones.items; 333- for (int i = 0, n = this.bones.size; i < n; i++) 334- if (bones[i].data.name.equals(boneName)) return bones[i]; 335- return null; 336- } 337- 338- /** The skeleton's slots. */ 339- public Array<Slot> getSlots () { - ../../spine-cpp/include/spine/Skeleton.h:200 Slot * Skeleton::findSlot(const String & slotName) // returns nullable pointer: Slot *
../../spine-cpp/src/spine/Skeleton.cpp:322 322:Slot *Skeleton::findSlot(const String &slotName) { 323- if (slotName.isEmpty()) return NULL; 324- Slot **slots = _slots.buffer(); 325- for (size_t i = 0, n = _slots.size(); i < n; i++) { 326- if (slots[i]->_data.getName() == slotName) return slots[i]; 327- } 328- return NULL; 329-} 330- 331-Array<Slot *> &Skeleton::getDrawOrder() {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:345 345: public @Null Slot findSlot (String slotName) { 346- if (slotName == null) throw new IllegalArgumentException("slotName cannot be null."); 347- Slot[] slots = this.slots.items; 348- for (int i = 0, n = this.slots.size; i < n; i++) 349- if (slots[i].data.name.equals(slotName)) return slots[i]; 350- return null; 351- } 352- 353- /** The skeleton's slots in the order they should be drawn. The returned array may be modified to change the draw order. */ 354- public Array<Slot> getDrawOrder () { - ../../spine-cpp/include/spine/Skeleton.h:204 Skin * Skeleton::getSkin() // returns nullable pointer: Skin *
../../spine-cpp/src/spine/Skeleton.cpp:335 335:Skin *Skeleton::getSkin() { 336- return _skin; 337-} 338- 339-void Skeleton::setSkin(const String &skinName) { 340- Skin *skin = skinName.isEmpty() ? NULL : _data.findSkin(skinName); 341- if (skin == NULL) return; 342- setSkin(skin); 343-} 344-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:151 151: /** Caches information about bones and constraints. Must be called if the {@link #getSkin()} is modified or if bones, 152- * constraints, or weighted path attachments are added or removed. */ 153- public void updateCache () { 154- updateCache.clear(); 155- resetCache.clear(); 156- 157- Slot[] slots = this.slots.items; 158- for (int i = 0, n = this.slots.size; i < n; i++) 159- slots[i].pose(); 160- - ../../spine-cpp/include/spine/Skeleton.h:216 void Skeleton::setSkin(Skin * newSkin) // takes nullable parameter 'newSkin': Skin *
../../spine-cpp/src/spine/Skeleton.cpp:339 339:void Skeleton::setSkin(const String &skinName) { 340- Skin *skin = skinName.isEmpty() ? NULL : _data.findSkin(skinName); 341- if (skin == NULL) return; 342- setSkin(skin); 343-} 344- 345:void Skeleton::setSkin(Skin *newSkin) { 346- if (_skin == newSkin) return; 347- if (newSkin != NULL) { 348- if (_skin != NULL) {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:370 370: * See {@link #setSkin(Skin)}. */ 371: public void setSkin (String skinName) { 372- Skin skin = data.findSkin(skinName); 373- if (skin == null) throw new IllegalArgumentException("Skin not found: " + skinName); 374: setSkin(skin); 375- } 376- 377- /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. If the 378- * skin is changed, {@link #updateCache()} is called. 379- * <p> - ../../spine-cpp/include/spine/Skeleton.h:219 Attachment * Skeleton::getAttachment(const String & slotName, const String & attachmentName) // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/Skeleton.cpp:368 368:Attachment *Skeleton::getAttachment(const String &slotName, const String &attachmentName) { 369- SlotData *slot = _data.findSlot(slotName); 370- if (slot == NULL) return NULL; 371- return getAttachment(slot->getIndex(), attachmentName); 372-} 373- 374:Attachment *Skeleton::getAttachment(int slotIndex, const String &attachmentName) { 375- if (attachmentName.isEmpty()) return NULL; 376- if (_skin != NULL) { 377- Attachment *attachment = _skin->getAttachment(slotIndex, attachmentName);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:397 397: Attachment attachment = newSkin.getAttachment(i, name); 398- if (attachment != null) slot.pose.setAttachment(attachment); 399- } 400- } 401- } 402- } 403- skin = newSkin; 404- updateCache(); 405- } 406- - ../../spine-cpp/include/spine/Skeleton.h:222 Attachment * Skeleton::getAttachment(int slotIndex, const String & attachmentName) // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/Skeleton.cpp:368 368:Attachment *Skeleton::getAttachment(const String &slotName, const String &attachmentName) { 369- SlotData *slot = _data.findSlot(slotName); 370- if (slot == NULL) return NULL; 371- return getAttachment(slot->getIndex(), attachmentName); 372-} 373- 374:Attachment *Skeleton::getAttachment(int slotIndex, const String &attachmentName) { 375- if (attachmentName.isEmpty()) return NULL; 376- if (_skin != NULL) { 377- Attachment *attachment = _skin->getAttachment(slotIndex, attachmentName);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:397 397: Attachment attachment = newSkin.getAttachment(i, name); 398- if (attachment != null) slot.pose.setAttachment(attachment); 399- } 400- } 401- } 402- } 403- skin = newSkin; 404- updateCache(); 405- } 406- - ../../spine-cpp/include/spine/Skeleton.h:253 void Skeleton::getBounds(float & outX, float & outY, float & outWidth, float & outHeight, Array & outVertexBuffer, SkeletonClipping * clipper) // takes nullable parameter 'clipper': SkeletonClipping *
../../spine-cpp/src/spine/Skeleton.cpp:404 404:void Skeleton::getBounds(float &outX, float &outY, float &outWidth, float &outHeight, Array<float> &outVertexBuffer) { 405- getBounds(outX, outY, outWidth, outHeight, outVertexBuffer, NULL); 406-} 407- 408:void Skeleton::getBounds(float &outX, float &outY, float &outWidth, float &outHeight, Array<float> &outVertexBuffer, SkeletonClipping *clipper) { 409- static unsigned short quadIndices[] = {0, 1, 2, 2, 3, 0}; 410- float minX = FLT_MAX; 411- float minY = FLT_MAX; 412- float maxX = -FLT_MAX; 413- float maxY = -FLT_MAX;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java:471 471: public void getBounds (Vector2 offset, Vector2 size, FloatArray temp) { 472: getBounds(offset, size, temp, null); 473- } 474- 475- /** Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. Optionally applies 476- * clipping. 477- * @param offset An output value, the distance from the skeleton origin to the bottom left corner of the AABB. 478- * @param size An output value, the width and height of the AABB. 479- * @param temp Working memory to temporarily store attachments' computed world vertices. 480- * @param clipper {@link SkeletonClipping} to use. If <code>null</code>, no clipping is applied. */ - ../../spine-cpp/include/spine/SkeletonBinary.h:124 SkeletonData * SkeletonBinary::readSkeletonData(const unsigned char * binary, int length) // returns nullable pointer: SkeletonData *
../../spine-cpp/src/spine/SkeletonBinary.cpp:98 98:SkeletonData *SkeletonBinary::readSkeletonDataFile(const String &path) { 99- int length; 100- const char *binary = SpineExtension::readFile(path.buffer(), &length); 101- if (length == 0 || !binary) { 102- setError("Unable to read skeleton file: ", path.buffer()); 103- return NULL; 104- } 105- 106- SkeletonData *skeletonData = readSkeletonData((unsigned char *) binary, length); 107- SpineExtension::free(binary, __FILE__, __LINE__);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java:181 181: public SkeletonData readSkeletonData (FileHandle file) { 182- if (file == null) throw new IllegalArgumentException("file cannot be null."); 183- try { 184: SkeletonData skeletonData = readSkeletonData(file.read()); 185- skeletonData.name = file.nameWithoutExtension(); 186- return skeletonData; 187- } catch (Throwable ex) { 188- throw new SerializationException("Error reading binary skeleton file: " + file, ex); 189- } 190- } - ../../spine-cpp/include/spine/SkeletonBinary.h:126 SkeletonData * SkeletonBinary::readSkeletonDataFile(const String & path) // returns nullable pointer: SkeletonData *
../../spine-cpp/src/spine/SkeletonBinary.cpp:98 98:SkeletonData *SkeletonBinary::readSkeletonDataFile(const String &path) { 99- int length; 100- const char *binary = SpineExtension::readFile(path.buffer(), &length); 101- if (length == 0 || !binary) { 102- setError("Unable to read skeleton file: ", path.buffer()); 103- return NULL; 104- } 105- 106- SkeletonData *skeletonData = readSkeletonData((unsigned char *) binary, length); 107- SpineExtension::free(binary, __FILE__, __LINE__);NOT FOUND - searched for class "SkeletonBinary" (from C++ "SkeletonBinary") and method "readSkeletonDataFile" across all Java files - ../../spine-cpp/include/spine/SkeletonBounds.h:71 bool SkeletonBounds::containsPoint(Polygon & polygon, float x, float y) // changed to reference
../../spine-cpp/src/spine/SkeletonBounds.cpp:123 123:bool SkeletonBounds::containsPoint(Polygon *polygon, float x, float y) { 124- Array<float> &vertices = polygon->_vertices; 125- int nn = polygon->_count; 126- 127- int prevIndex = nn - 2; 128- bool inside = false; 129- for (int ii = 0; ii < nn; ii += 2) { 130- float vertexY = vertices[ii + 1]; 131- float prevY = vertices[prevIndex + 1]; 132- if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java:145 145: public @Null BoundingBoxAttachment containsPoint (float x, float y) { 146- FloatArray[] polygons = this.polygons.items; 147- for (int i = 0, n = this.polygons.size; i < n; i++) 148: if (containsPoint(polygons[i], x, y)) return boundingBoxes.items[i]; 149- return null; 150- } 151- 152- /** Returns true if the polygon contains the point. */ 153: public boolean containsPoint (FloatArray polygon, float x, float y) { 154- if (polygon == null) throw new IllegalArgumentException("polygon cannot be null."); - ../../spine-cpp/include/spine/SkeletonBounds.h:75 BoundingBoxAttachment * SkeletonBounds::containsPoint(float x, float y) // returns nullable pointer: BoundingBoxAttachment *
../../spine-cpp/src/spine/SkeletonBounds.cpp:123 123:bool SkeletonBounds::containsPoint(Polygon *polygon, float x, float y) { 124- Array<float> &vertices = polygon->_vertices; 125- int nn = polygon->_count; 126- 127- int prevIndex = nn - 2; 128- bool inside = false; 129- for (int ii = 0; ii < nn; ii += 2) { 130- float vertexY = vertices[ii + 1]; 131- float prevY = vertices[prevIndex + 1]; 132- if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java:145 145: public @Null BoundingBoxAttachment containsPoint (float x, float y) { 146- FloatArray[] polygons = this.polygons.items; 147- for (int i = 0, n = this.polygons.size; i < n; i++) 148: if (containsPoint(polygons[i], x, y)) return boundingBoxes.items[i]; 149- return null; 150- } 151- 152- /** Returns true if the polygon contains the point. */ 153: public boolean containsPoint (FloatArray polygon, float x, float y) { 154- if (polygon == null) throw new IllegalArgumentException("polygon cannot be null."); - ../../spine-cpp/include/spine/SkeletonBounds.h:79 BoundingBoxAttachment * SkeletonBounds::intersectsSegment(float x1, float y1, float x2, float y2) // returns nullable pointer: BoundingBoxAttachment *
../../spine-cpp/src/spine/SkeletonBounds.cpp:149 149:BoundingBoxAttachment *SkeletonBounds::intersectsSegment(float x1, float y1, float x2, float y2) { 150- for (size_t i = 0, n = _polygons.size(); i < n; ++i) 151- if (intersectsSegment(_polygons[i], x1, y1, x2, y2)) return _boundingBoxes[i]; 152- return NULL; 153-} 154- 155:bool SkeletonBounds::intersectsSegment(Polygon *polygon, float x1, float y1, float x2, float y2) { 156- Array<float> &vertices = polygon->_vertices; 157- size_t nn = polygon->_count; 158-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java:175 175: public @Null BoundingBoxAttachment intersectsSegment (float x1, float y1, float x2, float y2) { 176- FloatArray[] polygons = this.polygons.items; 177- for (int i = 0, n = this.polygons.size; i < n; i++) 178: if (intersectsSegment(polygons[i], x1, y1, x2, y2)) return boundingBoxes.items[i]; 179- return null; 180- } 181- 182- /** Returns true if the polygon contains any part of the line segment. */ 183: public boolean intersectsSegment (FloatArray polygon, float x1, float y1, float x2, float y2) { 184- if (polygon == null) throw new IllegalArgumentException("polygon cannot be null."); - ../../spine-cpp/include/spine/SkeletonBounds.h:82 bool SkeletonBounds::intersectsSegment(Polygon & polygon, float x1, float y1, float x2, float y2) // changed to reference
../../spine-cpp/src/spine/SkeletonBounds.cpp:149 149:BoundingBoxAttachment *SkeletonBounds::intersectsSegment(float x1, float y1, float x2, float y2) { 150- for (size_t i = 0, n = _polygons.size(); i < n; ++i) 151- if (intersectsSegment(_polygons[i], x1, y1, x2, y2)) return _boundingBoxes[i]; 152- return NULL; 153-} 154- 155:bool SkeletonBounds::intersectsSegment(Polygon *polygon, float x1, float y1, float x2, float y2) { 156- Array<float> &vertices = polygon->_vertices; 157- size_t nn = polygon->_count; 158-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java:175 175: public @Null BoundingBoxAttachment intersectsSegment (float x1, float y1, float x2, float y2) { 176- FloatArray[] polygons = this.polygons.items; 177- for (int i = 0, n = this.polygons.size; i < n; i++) 178: if (intersectsSegment(polygons[i], x1, y1, x2, y2)) return boundingBoxes.items[i]; 179- return null; 180- } 181- 182- /** Returns true if the polygon contains any part of the line segment. */ 183: public boolean intersectsSegment (FloatArray polygon, float x1, float y1, float x2, float y2) { 184- if (polygon == null) throw new IllegalArgumentException("polygon cannot be null."); - ../../spine-cpp/include/spine/SkeletonBounds.h:86 Polygon * SkeletonBounds::getPolygon(BoundingBoxAttachment * attachment) // returns nullable pointer: Polygon *; takes nullable parameter 'attachment': BoundingBoxAttachment *
../../spine-cpp/src/spine/SkeletonBounds.cpp:181 181:Polygon *SkeletonBounds::getPolygon(BoundingBoxAttachment *attachment) { 182- int index = _boundingBoxes.indexOf(attachment); 183- return index == -1 ? NULL : _polygons[index]; 184-} 185- 186-BoundingBoxAttachment *SkeletonBounds::getBoundingBox(Polygon *polygon) { 187- int index = _polygons.indexOf(polygon); 188- return index == -1 ? NULL : _boundingBoxes[index]; 189-} 190-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java:248 248: public @Null FloatArray getPolygon (BoundingBoxAttachment boundingBox) { 249- if (boundingBox == null) throw new IllegalArgumentException("boundingBox cannot be null."); 250- int index = boundingBoxes.indexOf(boundingBox, true); 251- return index == -1 ? null : polygons.items[index]; 252- } 253-} - ../../spine-cpp/include/spine/SkeletonBounds.h:89 BoundingBoxAttachment * SkeletonBounds::getBoundingBox(Polygon * polygon) // returns nullable pointer: BoundingBoxAttachment *; takes nullable parameter 'polygon': Polygon *
../../spine-cpp/src/spine/SkeletonBounds.cpp:186 186:BoundingBoxAttachment *SkeletonBounds::getBoundingBox(Polygon *polygon) { 187- int index = _polygons.indexOf(polygon); 188- return index == -1 ? NULL : _boundingBoxes[index]; 189-} 190- 191-Array<Polygon *> &SkeletonBounds::getPolygons() { 192- return _polygons; 193-} 194- 195:Array<BoundingBoxAttachment *> &SkeletonBounds::getBoundingBoxes() {NOT FOUND - searched for class "SkeletonBounds" (from C++ "SkeletonBounds") and method "getBoundingBox" across all Java files - ../../spine-cpp/include/spine/SkeletonClipping.h:45 size_t SkeletonClipping::clipStart(Skeleton & skeleton, Slot & slot, ClippingAttachment * clip) // takes nullable parameter 'clip': ClippingAttachment *
../../spine-cpp/src/spine/SkeletonClipping.cpp:44 44:size_t SkeletonClipping::clipStart(Skeleton &skeleton, Slot &slot, ClippingAttachment *clip) { 45- if (_clipAttachment != NULL) { 46- return 0; 47- } 48- 49- _clipAttachment = clip; 50- 51- int n = (int) clip->getWorldVerticesLength(); 52- if (n < 6) { 53- return 0;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java:52 52: public void clipStart (Skeleton skeleton, Slot slot, ClippingAttachment clip) { 53- if (clipAttachment != null) return; 54- int n = clip.getWorldVerticesLength(); 55- if (n < 6) return; 56- clipAttachment = clip; 57- 58- float[] vertices = clippingPolygon.setSize(n); 59- clip.computeWorldVertices(skeleton, slot, 0, n, vertices, 0, 2); 60- makeClockwise(clippingPolygon); 61- ShortArray triangles = triangulator.triangulate(clippingPolygon); - ../../spine-cpp/include/spine/SkeletonData.h:77 BoneData * SkeletonData::findBone(const String & boneName) // returns nullable pointer: BoneData *
../../spine-cpp/src/spine/SkeletonData.cpp:67 67:BoneData *SkeletonData::findBone(const String &boneName) { 68- return ArrayUtils::findWithName(_bones, boneName); 69-} 70- 71-SlotData *SkeletonData::findSlot(const String &slotName) { 72- return ArrayUtils::findWithName(_slots, slotName); 73-} 74- 75-Skin *SkeletonData::findSkin(const String &skinName) { 76- return ArrayUtils::findWithName(_skins, skinName);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:68 68: public @Null BoneData findBone (String boneName) { 69- if (boneName == null) throw new IllegalArgumentException("boneName cannot be null."); 70- BoneData[] bones = this.bones.items; 71- for (int i = 0, n = this.bones.size; i < n; i++) 72- if (bones[i].name.equals(boneName)) return bones[i]; 73- return null; 74- } 75- 76- // --- Slots. 77- - ../../spine-cpp/include/spine/SkeletonData.h:80 SlotData * SkeletonData::findSlot(const String & slotName) // returns nullable pointer: SlotData *
../../spine-cpp/src/spine/SkeletonData.cpp:71 71:SlotData *SkeletonData::findSlot(const String &slotName) { 72- return ArrayUtils::findWithName(_slots, slotName); 73-} 74- 75-Skin *SkeletonData::findSkin(const String &skinName) { 76- return ArrayUtils::findWithName(_skins, skinName); 77-} 78- 79-EventData *SkeletonData::findEvent(const String &eventDataName) { 80- return ArrayUtils::findWithName(_events, eventDataName);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:85 85: public @Null SlotData findSlot (String slotName) { 86- if (slotName == null) throw new IllegalArgumentException("slotName cannot be null."); 87- SlotData[] slots = this.slots.items; 88- for (int i = 0, n = this.slots.size; i < n; i++) 89- if (slots[i].name.equals(slotName)) return slots[i]; 90- return null; 91- } 92- 93- // --- Skins. 94- - ../../spine-cpp/include/spine/SkeletonData.h:83 Skin * SkeletonData::findSkin(const String & skinName) // returns nullable pointer: Skin *
../../spine-cpp/src/spine/SkeletonData.cpp:75 75:Skin *SkeletonData::findSkin(const String &skinName) { 76- return ArrayUtils::findWithName(_skins, skinName); 77-} 78- 79-EventData *SkeletonData::findEvent(const String &eventDataName) { 80- return ArrayUtils::findWithName(_events, eventDataName); 81-} 82- 83-Animation *SkeletonData::findAnimation(const String &animationName) { 84- return ArrayUtils::findWithName(_animations, animationName);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:108 108: public @Null Skin findSkin (String skinName) { 109- if (skinName == null) throw new IllegalArgumentException("skinName cannot be null."); 110- for (Skin skin : skins) 111- if (skin.name.equals(skinName)) return skin; 112- return null; 113- } 114- 115- /** All skins, including the default skin. */ 116- public Array<Skin> getSkins () { 117- return skins; - ../../spine-cpp/include/spine/SkeletonData.h:86 EventData * SkeletonData::findEvent(const String & eventDataName) // returns nullable pointer: EventData *
../../spine-cpp/src/spine/SkeletonData.cpp:79 79:EventData *SkeletonData::findEvent(const String &eventDataName) { 80- return ArrayUtils::findWithName(_events, eventDataName); 81-} 82- 83-Animation *SkeletonData::findAnimation(const String &animationName) { 84- return ArrayUtils::findWithName(_animations, animationName); 85-} 86- 87-const String &SkeletonData::getName() { 88- return _name;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:124 124: public @Null EventData findEvent (String eventDataName) { 125- if (eventDataName == null) throw new IllegalArgumentException("eventDataName cannot be null."); 126- for (EventData eventData : events) 127- if (eventData.name.equals(eventDataName)) return eventData; 128- return null; 129- } 130- 131- /** The skeleton's events. */ 132- public Array<EventData> getEvents () { 133- return events; - ../../spine-cpp/include/spine/SkeletonData.h:89 Animation * SkeletonData::findAnimation(const String & animationName) // returns nullable pointer: Animation *
../../spine-cpp/src/spine/SkeletonData.cpp:83 83:Animation *SkeletonData::findAnimation(const String &animationName) { 84- return ArrayUtils::findWithName(_animations, animationName); 85-} 86- 87-const String &SkeletonData::getName() { 88- return _name; 89-} 90- 91-void SkeletonData::setName(const String &inValue) { 92- _name = inValue;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:145 145: public @Null Animation findAnimation (String animationName) { 146- if (animationName == null) throw new IllegalArgumentException("animationName cannot be null."); 147- Animation[] animations = this.animations.items; 148- for (int i = 0, n = this.animations.size; i < n; i++) 149- if (animations[i].name.equals(animationName)) return animations[i]; 150- return null; 151- } 152- 153- // --- Constraints. 154- - ../../spine-cpp/include/spine/SkeletonData.h:109 Skin * SkeletonData::getDefaultSkin() // returns nullable pointer: Skin *
../../spine-cpp/src/spine/SkeletonData.cpp:107 107:Skin *SkeletonData::getDefaultSkin() { 108- return _defaultSkin; 109-} 110- 111-void SkeletonData::setDefaultSkin(Skin *inValue) { 112- _defaultSkin = inValue; 113-} 114- 115-Array<EventData *> &SkeletonData::getEvents() { 116- return _events;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:98 98: public @Null Skin getDefaultSkin () { 99- return defaultSkin; 100- } 101- 102- public void setDefaultSkin (@Null Skin defaultSkin) { 103- this.defaultSkin = defaultSkin; 104- } 105- 106- /** Finds a skin by comparing each skin's name. It is more efficient to cache the results of this method than to call it 107- * multiple times. */ - ../../spine-cpp/include/spine/SkeletonData.h:111 void SkeletonData::setDefaultSkin(Skin * inValue) // takes nullable parameter 'inValue': Skin *
../../spine-cpp/src/spine/SkeletonData.cpp:111 111:void SkeletonData::setDefaultSkin(Skin *inValue) { 112- _defaultSkin = inValue; 113-} 114- 115-Array<EventData *> &SkeletonData::getEvents() { 116- return _events; 117-} 118- 119-Array<Animation *> &SkeletonData::getAnimations() { 120- return _animations;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java:102 102: public void setDefaultSkin (@Null Skin defaultSkin) { 103- this.defaultSkin = defaultSkin; 104- } 105- 106- /** Finds a skin by comparing each skin's name. It is more efficient to cache the results of this method than to call it 107- * multiple times. */ 108- public @Null Skin findSkin (String skinName) { 109- if (skinName == null) throw new IllegalArgumentException("skinName cannot be null."); 110- for (Skin skin : skins) 111- if (skin.name.equals(skinName)) return skin; - ../../spine-cpp/include/spine/SkeletonJson.h:76 SkeletonData * SkeletonJson::readSkeletonDataFile(const String & path) // returns nullable pointer: SkeletonData *
../../spine-cpp/src/spine/SkeletonJson.cpp:138 138:SkeletonData *SkeletonJson::readSkeletonDataFile(const String &path) { 139- int length; 140- SkeletonData *skeletonData; 141- const char *json = SpineExtension::readFile(path, &length); 142- if (length == 0 || !json) { 143- setError(NULL, "Unable to read skeleton file: ", path); 144- return NULL; 145- } 146- 147- skeletonData = readSkeletonData(json);NOT FOUND - searched for class "SkeletonJson" (from C++ "SkeletonJson") and method "readSkeletonDataFile" across all Java files - ../../spine-cpp/include/spine/SkeletonJson.h:78 SkeletonData * SkeletonJson::readSkeletonData(const char * json) // returns nullable pointer: SkeletonData *
../../spine-cpp/src/spine/SkeletonJson.cpp:138 138:SkeletonData *SkeletonJson::readSkeletonDataFile(const String &path) { 139- int length; 140- SkeletonData *skeletonData; 141- const char *json = SpineExtension::readFile(path, &length); 142- if (length == 0 || !json) { 143- setError(NULL, "Unable to read skeleton file: ", path); 144- return NULL; 145- } 146- 147- skeletonData = readSkeletonData(json);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java:136 136: public SkeletonData readSkeletonData (FileHandle file) { 137- if (file == null) throw new IllegalArgumentException("file cannot be null."); 138- try { 139: SkeletonData skeletonData = readSkeletonData(new JsonReader().parse(file)); 140- skeletonData.name = file.nameWithoutExtension(); 141- return skeletonData; 142- } catch (Throwable ex) { 143- throw new SerializationException("Error reading JSON skeleton file: " + file, ex); 144- } 145- } - ../../spine-cpp/include/spine/SkeletonRenderer.h:59 RenderCommand * SkeletonRenderer::render(Skeleton & skeleton) // returns nullable pointer: RenderCommand *
../../spine-cpp/src/spine/SkeletonRenderer.cpp:136 136:RenderCommand *SkeletonRenderer::render(Skeleton &skeleton) { 137- _allocator.compress(); 138- _renderCommands.clear(); 139- 140- SkeletonClipping &clipper = _clipping; 141- 142- for (unsigned i = 0; i < skeleton.getSlots().size(); ++i) { 143- Slot &slot = *skeleton.getDrawOrder()[i]; 144- Attachment *attachment = slot.getAppliedPose().getAttachment(); 145- if (!attachment) {NOT FOUND - searched for class "SkeletonRenderer" (from C++ "SkeletonRenderer") and method "render" across all Java files - ../../spine-cpp/include/spine/Skin.h:121 void Skin::setAttachment(size_t slotIndex, const String & name, Attachment * attachment) // takes nullable parameter 'attachment': Attachment *
../../spine-cpp/src/spine/Skin.cpp:102 102:void Skin::setAttachment(size_t slotIndex, const String &name, Attachment *attachment) { 103- assert(attachment); 104- _attachments.put(slotIndex, name, attachment); 105-} 106- 107-Attachment *Skin::getAttachment(size_t slotIndex, const String &name) { 108- return _attachments.get(slotIndex, name); 109-} 110- 111-void Skin::removeAttachment(size_t slotIndex, const String &name) {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java:61 61: public void setAttachment (int slotIndex, String name, Attachment attachment) { 62- if (attachment == null) throw new IllegalArgumentException("attachment cannot be null."); 63- var entry = new SkinEntry(slotIndex, name, attachment); 64- if (!attachments.add(entry)) attachments.get(entry).attachment = attachment; 65- } 66- 67- /** Adds all attachments, bones, and constraints from the specified skin to this skin. */ 68- public void addSkin (Skin skin) { 69- if (skin == null) throw new IllegalArgumentException("skin cannot be null."); 70- - ../../spine-cpp/include/spine/Skin.h:124 Attachment * Skin::getAttachment(size_t slotIndex, const String & name) // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/Skin.cpp:107 107:Attachment *Skin::getAttachment(size_t slotIndex, const String &name) { 108- return _attachments.get(slotIndex, name); 109-} 110- 111-void Skin::removeAttachment(size_t slotIndex, const String &name) { 112- _attachments.remove(slotIndex, name); 113-} 114- 115-void Skin::findNamesForSlot(size_t slotIndex, Array<String> &names) { 116- Skin::AttachmentMap::Entries entries = _attachments.getEntries();../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java:101 101: public @Null Attachment getAttachment (int slotIndex, String name) { 102- lookup.set(slotIndex, name); 103- SkinEntry entry = attachments.get(lookup); 104- return entry != null ? entry.attachment : null; 105- } 106- 107- /** Removes the attachment in the skin for the specified slot index and name, if any. */ 108- public void removeAttachment (int slotIndex, String name) { 109- lookup.set(slotIndex, name); 110- attachments.remove(lookup); - ../../spine-cpp/include/spine/Skin.h:142 void Skin::addSkin(Skin * other) // takes nullable parameter 'other': Skin *
../../spine-cpp/src/spine/Skin.cpp:156 156:void Skin::addSkin(Skin *other) { 157- for (size_t i = 0; i < other->getBones().size(); i++) 158- if (!_bones.contains(other->getBones()[i])) _bones.add(other->getBones()[i]); 159- 160- for (size_t i = 0; i < other->getConstraints().size(); i++) 161- if (!_constraints.contains(other->getConstraints()[i])) _constraints.add(other->getConstraints()[i]); 162- 163- AttachmentMap::Entries entries = other->getAttachments(); 164- while (entries.hasNext()) { 165- AttachmentMap::Entry &entry = entries.next();../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java:68 68: public void addSkin (Skin skin) { 69- if (skin == null) throw new IllegalArgumentException("skin cannot be null."); 70- 71- for (BoneData data : skin.bones) 72- if (!bones.contains(data, true)) bones.add(data); 73- 74- for (ConstraintData data : skin.constraints) 75- if (!constraints.contains(data, true)) constraints.add(data); 76- 77- for (SkinEntry entry : skin.attachments.orderedItems()) - ../../spine-cpp/include/spine/Skin.h:145 void Skin::copySkin(Skin * other) // takes nullable parameter 'other': Skin *
../../spine-cpp/src/spine/Skin.cpp:170 170:void Skin::copySkin(Skin *other) { 171- for (size_t i = 0; i < other->getBones().size(); i++) 172- if (!_bones.contains(other->getBones()[i])) _bones.add(other->getBones()[i]); 173- 174- for (size_t i = 0; i < other->getConstraints().size(); i++) 175- if (!_constraints.contains(other->getConstraints()[i])) _constraints.add(other->getConstraints()[i]); 176- 177- AttachmentMap::Entries entries = other->getAttachments(); 178- while (entries.hasNext()) { 179- AttachmentMap::Entry &entry = entries.next();../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java:83 83: public void copySkin (Skin skin) { 84- if (skin == null) throw new IllegalArgumentException("skin cannot be null."); 85- 86- for (BoneData data : skin.bones) 87- if (!bones.contains(data, true)) bones.add(data); 88- 89- for (ConstraintData data : skin.constraints) 90- if (!constraints.contains(data, true)) constraints.add(data); 91- 92- for (SkinEntry entry : skin.attachments.orderedItems()) { - ../../spine-cpp/include/spine/Slider.h:55 Slider * Slider::copy(Skeleton & skeleton) // returns nullable pointer: Slider *
../../spine-cpp/src/spine/Slider.cpp:59 59:Slider *Slider::copy(Skeleton &skeleton) { 60- Slider *copy = new (__FILE__, __LINE__) Slider(_data, skeleton); 61- copy->_pose.set(_pose); 62- return copy; 63-} 64- 65-void Slider::update(Skeleton &skeleton, Physics physics) { 66- SliderPose &p = *_applied; 67- if (p._mix == 0) return; 68-../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slider.java:54 54: public Slider copy (Skeleton skeleton) { 55- var copy = new Slider(data, skeleton); 56- copy.pose.set(pose); 57- return copy; 58- } 59- 60- public void update (Skeleton skeleton, Physics physics) { 61- SliderPose p = applied; 62- if (p.mix == 0) return; 63- - ../../spine-cpp/include/spine/Slider.h:63 Bone * Slider::getBone() // returns nullable pointer: Bone *
../../spine-cpp/src/spine/Slider.cpp:129 129:Bone *Slider::getBone() { 130- return _bone; 131-} 132- 133-void Slider::setBone(Bone *bone) { 134- _bone = bone; 135-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slider.java:118 118: public Bone getBone () { 119- return bone; 120- } 121- 122- public void setBone (Bone bone) { 123- this.bone = bone; 124- } 125-} - ../../spine-cpp/include/spine/Slider.h:65 void Slider::setBone(Bone * bone) // takes nullable parameter 'bone': Bone *
../../spine-cpp/src/spine/Slider.cpp:133 133:void Slider::setBone(Bone *bone) { 134- _bone = bone; 135-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slider.java:122 122: public void setBone (Bone bone) { 123- this.bone = bone; 124- } 125-} - ../../spine-cpp/include/spine/SliderData.h:59 Constraint * SliderData::create(Skeleton & skeleton) // returns nullable pointer: Constraint *
../../spine-cpp/src/spine/SliderData.cpp:43 43:Constraint *SliderData::create(Skeleton &skeleton) { 44- return new (__FILE__, __LINE__) Slider(*this, skeleton); 45-} 46- 47-Animation *SliderData::getAnimation() { 48- return _animation; 49-} 50- 51-void SliderData::setAnimation(Animation *animation) { 52- _animation = animation;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:49 49: public Slider create (Skeleton skeleton) { 50- return new Slider(this, skeleton); 51- } 52- 53- public Animation getAnimation () { 54- return animation; 55- } 56- 57- public void setAnimation (Animation animation) { 58- this.animation = animation; - ../../spine-cpp/include/spine/SliderData.h:61 Animation * SliderData::getAnimation() // returns nullable pointer: Animation *
../../spine-cpp/src/spine/SliderData.cpp:47 47:Animation *SliderData::getAnimation() { 48- return _animation; 49-} 50- 51-void SliderData::setAnimation(Animation *animation) { 52- _animation = animation; 53-} 54- 55-bool SliderData::getAdditive() { 56- return _additive;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:53 53: public Animation getAnimation () { 54- return animation; 55- } 56- 57- public void setAnimation (Animation animation) { 58- this.animation = animation; 59- } 60- 61- public boolean getAdditive () { 62- return additive; - ../../spine-cpp/include/spine/SliderData.h:62 void SliderData::setAnimation(Animation * animation) // takes nullable parameter 'animation': Animation *
../../spine-cpp/src/spine/SliderData.cpp:51 51:void SliderData::setAnimation(Animation *animation) { 52- _animation = animation; 53-} 54- 55-bool SliderData::getAdditive() { 56- return _additive; 57-} 58- 59-void SliderData::setAdditive(bool additive) { 60- _additive = additive;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:57 57: public void setAnimation (Animation animation) { 58- this.animation = animation; 59- } 60- 61- public boolean getAdditive () { 62- return additive; 63- } 64- 65- public void setAdditive (boolean additive) { 66- this.additive = additive; - ../../spine-cpp/include/spine/SliderData.h:70 BoneData * SliderData::getBone() // returns nullable pointer: BoneData *
../../spine-cpp/src/spine/SliderData.cpp:71 71:BoneData *SliderData::getBone() { 72- return _bone; 73-} 74- 75-void SliderData::setBone(BoneData *bone) { 76- _bone = bone; 77-} 78- 79-FromProperty *SliderData::getProperty() { 80- return _property;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:77 77: public @Null BoneData getBone () { 78- return bone; 79- } 80- 81- public void setBone (@Null BoneData bone) { 82- this.bone = bone; 83- } 84- 85- public @Null FromProperty getProperty () { 86- return property; - ../../spine-cpp/include/spine/SliderData.h:71 void SliderData::setBone(BoneData * bone) // takes nullable parameter 'bone': BoneData *
../../spine-cpp/src/spine/SliderData.cpp:75 75:void SliderData::setBone(BoneData *bone) { 76- _bone = bone; 77-} 78- 79-FromProperty *SliderData::getProperty() { 80- return _property; 81-} 82- 83-void SliderData::setProperty(FromProperty *property) { 84- _property = property;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:81 81: public void setBone (@Null BoneData bone) { 82- this.bone = bone; 83- } 84- 85- public @Null FromProperty getProperty () { 86- return property; 87- } 88- 89- public void setProperty (@Null FromProperty property) { 90- this.property = property; - ../../spine-cpp/include/spine/SliderData.h:73 FromProperty * SliderData::getProperty() // returns nullable pointer: FromProperty *
../../spine-cpp/src/spine/SliderData.cpp:79 79:FromProperty *SliderData::getProperty() { 80- return _property; 81-} 82- 83-void SliderData::setProperty(FromProperty *property) { 84- _property = property; 85-} 86- 87-float SliderData::getScale() { 88- return _scale;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:85 85: public @Null FromProperty getProperty () { 86- return property; 87- } 88- 89- public void setProperty (@Null FromProperty property) { 90- this.property = property; 91- } 92- 93- public float getOffset () { 94- return offset; - ../../spine-cpp/include/spine/SliderData.h:74 void SliderData::setProperty(FromProperty * property) // takes nullable parameter 'property': FromProperty *
../../spine-cpp/src/spine/SliderData.cpp:83 83:void SliderData::setProperty(FromProperty *property) { 84- _property = property; 85-} 86- 87-float SliderData::getScale() { 88- return _scale; 89-} 90- 91-void SliderData::setScale(float scale) { 92- _scale = scale;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SliderData.java:89 89: public void setProperty (@Null FromProperty property) { 90- this.property = property; 91- } 92- 93- public float getOffset () { 94- return offset; 95- } 96- 97- public void setOffset (float offset) { 98- this.offset = offset; - ../../spine-cpp/include/spine/SlotPose.h:85 Attachment * SlotPose::getAttachment() // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/SlotPose.cpp:68 68:Attachment *SlotPose::getAttachment() { 69- return _attachment; 70-} 71- 72-void SlotPose::setAttachment(Attachment *attachment) { 73- if (_attachment == attachment) return; 74- 75- // Check if we need to clear deform based on timeline attachment 76- if (!attachment || !_attachment || !attachment->getRTTI().instanceOf(VertexAttachment::rtti) || 77- !_attachment->getRTTI().instanceOf(VertexAttachment::rtti) ||../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java:77 77: public @Null Attachment getAttachment () { 78- return attachment; 79- } 80- 81- /** Sets the slot's attachment and, if the attachment changed, resets {@link #sequenceIndex} and clears the {@link #deform}. 82- * The deform is not cleared if the old attachment has the same {@link VertexAttachment#getTimelineAttachment()} as the 83- * specified attachment. */ 84- public void setAttachment (@Null Attachment attachment) { 85- if (this.attachment == attachment) return; 86- if (!(attachment instanceof VertexAttachment newAttachment) || !(this.attachment instanceof VertexAttachment oldAttachment) - ../../spine-cpp/include/spine/SlotPose.h:90 void SlotPose::setAttachment(Attachment * attachment) // takes nullable parameter 'attachment': Attachment *
../../spine-cpp/src/spine/SlotPose.cpp:72 72:void SlotPose::setAttachment(Attachment *attachment) { 73- if (_attachment == attachment) return; 74- 75- // Check if we need to clear deform based on timeline attachment 76- if (!attachment || !_attachment || !attachment->getRTTI().instanceOf(VertexAttachment::rtti) || 77- !_attachment->getRTTI().instanceOf(VertexAttachment::rtti) || 78- static_cast<VertexAttachment *>(attachment)->getTimelineAttachment() != 79- static_cast<VertexAttachment *>(_attachment)->getTimelineAttachment()) { 80- _deform.clear(); 81- }../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java:84 84: public void setAttachment (@Null Attachment attachment) { 85- if (this.attachment == attachment) return; 86- if (!(attachment instanceof VertexAttachment newAttachment) || !(this.attachment instanceof VertexAttachment oldAttachment) 87- || newAttachment.getTimelineAttachment() != oldAttachment.getTimelineAttachment()) deform.clear(); 88- this.attachment = attachment; 89- sequenceIndex = -1; 90- } 91- 92- public IntArray getDeform () { 93- return deform; 94- } - ../../spine-cpp/include/spine/RTTI.h:43 RTTI::RTTI(const char * className, const RTTI & baseRTTI, const RTTI * interface1, const RTTI * interface2, const RTTI * interface3) // takes nullable parameter 'interface1': const RTTI *; takes nullable parameter 'interface2': const RTTI *; takes nullable parameter 'interface3': const RTTI *
../../spine-cpp/src/spine/RTTI.cpp:35 35:RTTI::RTTI(const char *className) : _className(className), _pBaseRTTI(NULL), _interfaceCount(0) { 36- _interfaces[0] = NULL; 37- _interfaces[1] = NULL; 38- _interfaces[2] = NULL; 39-} 40- 41:RTTI::RTTI(const char *className, const RTTI &baseRTTI) : _className(className), _pBaseRTTI(&baseRTTI), _interfaceCount(0) { 42- _interfaces[0] = NULL; 43- _interfaces[1] = NULL; 44- _interfaces[2] = NULL;NOT FOUND - searched for class "RTTI" (from C++ "RTTI") and method "RTTI" across all Java files - ../../spine-cpp/include/spine/SequenceTimeline.h:50 SequenceTimeline::SequenceTimeline(size_t frameCount, int slotIndex, Attachment * attachment) // takes nullable parameter 'attachment': Attachment *
../../spine-cpp/src/spine/SequenceTimeline.cpp:46 46:SequenceTimeline::SequenceTimeline(size_t frameCount, int slotIndex, Attachment *attachment) 47- : Timeline(frameCount, ENTRIES), SlotTimeline(), _slotIndex(slotIndex), _attachment((HasTextureRegion *) attachment) { 48- int sequenceId = 0; 49- if (attachment->getRTTI().instanceOf(RegionAttachment::rtti)) sequenceId = ((RegionAttachment *) attachment)->getSequence()->getId(); 50- if (attachment->getRTTI().instanceOf(MeshAttachment::rtti)) sequenceId = ((MeshAttachment *) attachment)->getSequence()->getId(); 51- PropertyId ids[] = {((PropertyId) Property_Sequence << 32) | ((slotIndex << 16 | sequenceId) & 0xffffffff)}; 52- setPropertyIds(ids, 1); 53-} 54- 55-SequenceTimeline::~SequenceTimeline() {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java:1705 1705: public SequenceTimeline (int frameCount, int slotIndex, Attachment attachment) { 1706- super(frameCount, 1707- Property.sequence.ordinal() + "|" + slotIndex + "|" + ((HasTextureRegion)attachment).getSequence().getId()); 1708- this.slotIndex = slotIndex; 1709- this.attachment = (HasTextureRegion)attachment; 1710- } 1711- 1712- public int getFrameEntries () { 1713- return ENTRIES; 1714- } - ../../spine-cpp/include/spine/SkeletonBinary.h:118 SkeletonBinary::SkeletonBinary(Atlas * atlas) // takes nullable parameter 'atlas': Atlas *
../../spine-cpp/src/spine/SkeletonBinary.cpp:82 82:SkeletonBinary::SkeletonBinary(Atlas *atlas) 83- : _attachmentLoader(new(__FILE__, __LINE__) AtlasAttachmentLoader(atlas)), _error(), _scale(1), _ownsLoader(true) { 84-} 85- 86:SkeletonBinary::SkeletonBinary(AttachmentLoader *attachmentLoader, bool ownsLoader) 87- : _attachmentLoader(attachmentLoader), _error(), _scale(1), _ownsLoader(ownsLoader) { 88- assert(_attachmentLoader != NULL); 89-} 90- 91-SkeletonBinary::~SkeletonBinary() {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java:173 173: public SkeletonBinary (AttachmentLoader attachmentLoader) { 174- super(attachmentLoader); 175- } 176- 177: public SkeletonBinary (TextureAtlas atlas) { 178- super(atlas); 179- } 180- 181- public SkeletonData readSkeletonData (FileHandle file) { 182- if (file == null) throw new IllegalArgumentException("file cannot be null."); - ../../spine-cpp/include/spine/SkeletonBinary.h:120 SkeletonBinary::SkeletonBinary(AttachmentLoader * attachmentLoader, bool ownsLoader) // takes nullable parameter 'attachmentLoader': AttachmentLoader *
../../spine-cpp/src/spine/SkeletonBinary.cpp:82 82:SkeletonBinary::SkeletonBinary(Atlas *atlas) 83- : _attachmentLoader(new(__FILE__, __LINE__) AtlasAttachmentLoader(atlas)), _error(), _scale(1), _ownsLoader(true) { 84-} 85- 86:SkeletonBinary::SkeletonBinary(AttachmentLoader *attachmentLoader, bool ownsLoader) 87- : _attachmentLoader(attachmentLoader), _error(), _scale(1), _ownsLoader(ownsLoader) { 88- assert(_attachmentLoader != NULL); 89-} 90- 91-SkeletonBinary::~SkeletonBinary() {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java:173 173: public SkeletonBinary (AttachmentLoader attachmentLoader) { 174- super(attachmentLoader); 175- } 176- 177: public SkeletonBinary (TextureAtlas atlas) { 178- super(atlas); 179- } 180- 181- public SkeletonData readSkeletonData (FileHandle file) { 182- if (file == null) throw new IllegalArgumentException("file cannot be null."); - ../../spine-cpp/include/spine/SkeletonJson.h:70 SkeletonJson::SkeletonJson(Atlas * atlas) // takes nullable parameter 'atlas': Atlas *
../../spine-cpp/src/spine/SkeletonJson.cpp:124 124:SkeletonJson::SkeletonJson(Atlas *atlas) : _attachmentLoader(new(__FILE__, __LINE__) AtlasAttachmentLoader(atlas)), _scale(1), _ownsLoader(true) { 125-} 126- 127:SkeletonJson::SkeletonJson(AttachmentLoader *attachmentLoader, bool ownsLoader) 128- : _attachmentLoader(attachmentLoader), _scale(1), _ownsLoader(ownsLoader) { 129- assert(_attachmentLoader != NULL); 130-} 131- 132-SkeletonJson::~SkeletonJson() { 133- ArrayUtils::deleteElements(_linkedMeshes);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java:128 128: public SkeletonJson (AttachmentLoader attachmentLoader) { 129- super(attachmentLoader); 130- } 131- 132: public SkeletonJson (TextureAtlas atlas) { 133- super(atlas); 134- } 135- 136- public SkeletonData readSkeletonData (FileHandle file) { 137- if (file == null) throw new IllegalArgumentException("file cannot be null."); - ../../spine-cpp/include/spine/SkeletonJson.h:72 SkeletonJson::SkeletonJson(AttachmentLoader * attachmentLoader, bool ownsLoader) // takes nullable parameter 'attachmentLoader': AttachmentLoader *
../../spine-cpp/src/spine/SkeletonJson.cpp:124 124:SkeletonJson::SkeletonJson(Atlas *atlas) : _attachmentLoader(new(__FILE__, __LINE__) AtlasAttachmentLoader(atlas)), _scale(1), _ownsLoader(true) { 125-} 126- 127:SkeletonJson::SkeletonJson(AttachmentLoader *attachmentLoader, bool ownsLoader) 128- : _attachmentLoader(attachmentLoader), _scale(1), _ownsLoader(ownsLoader) { 129- assert(_attachmentLoader != NULL); 130-} 131- 132-SkeletonJson::~SkeletonJson() { 133- ArrayUtils::deleteElements(_linkedMeshes);../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java:128 128: public SkeletonJson (AttachmentLoader attachmentLoader) { 129- super(attachmentLoader); 130- } 131- 132: public SkeletonJson (TextureAtlas atlas) { 133- super(atlas); 134- } 135- 136- public SkeletonData readSkeletonData (FileHandle file) { 137- if (file == null) throw new IllegalArgumentException("file cannot be null.");```java ../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java:84 84: public void setAttachment (@Null Attachment attachment) { 85- if (this.attachment == attachment) return; 86- if (!(attachment instanceof VertexAttachment newAttachment) || !(this.attachment instanceof VertexAttachment oldAttachment) 87- || newAttachment.getTimelineAttachment() != oldAttachment.getTimelineAttachment()) { 88- deform.clear(); 89- } 90- this.attachment = attachment; 91- sequenceIndex = -1; 92- } 93- - ../../spine-cpp/include/spine/TrackEntry.h:107 Animation * TrackEntry::getAnimation() // returns nullable pointer: Animation *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/TrackEntry.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:934 934: public Animation getAnimation () { 935- return animation; 936- } 937- 938- public void setAnimation (Animation animation) { 939- if (animation == null) throw new IllegalArgumentException("animation cannot be null."); 940- this.animation = animation; 941- } 942- 943- /** If true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its - ../../spine-cpp/include/spine/TrackEntry.h:110 void TrackEntry::setAnimation(Animation * animation) // takes nullable parameter 'animation': Animation *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/TrackEntry.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:572 572: * See {@link #setAnimation(int, Animation, boolean)}. */ 573: public TrackEntry setAnimation (int trackIndex, String animationName, boolean loop) { 574- Animation animation = data.skeletonData.findAnimation(animationName); 575- if (animation == null) throw new IllegalArgumentException("Animation not found: " + animationName); 576: return setAnimation(trackIndex, animation, loop); 577- } 578- 579- /** Sets the current animation for a track, discarding any queued animations. 580- * <p> 581- * If the formerly current track entry is for the same animation and was never applied to a skeleton, it is replaced (not mixed - ../../spine-cpp/include/spine/TrackEntry.h:112 TrackEntry * TrackEntry::getPrevious() // returns nullable pointer: TrackEntry *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/TrackEntry.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:1160 1160: public @Null TrackEntry getPrevious () { 1161- return previous; 1162- } 1163- 1164- /** Returns true if this track entry has been applied at least once. 1165- * <p> 1166- * See {@link AnimationState#apply(Skeleton)}. */ 1167- public boolean wasApplied () { 1168- return nextTrackLast != -1; 1169- } - ../../spine-cpp/include/spine/TrackEntry.h:258 TrackEntry * TrackEntry::getNext() // returns nullable pointer: TrackEntry *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/TrackEntry.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:757 757: /** Removes the {@link TrackEntry#getNext() next entry} and all entries after it for the specified entry. */ 758- public void clearNext (TrackEntry entry) { 759- TrackEntry next = entry.next; 760- while (next != null) { 761- queue.dispose(next); 762- next = next.next; 763- } 764- entry.next = null; 765- } 766- - ../../spine-cpp/include/spine/TrackEntry.h:294 TrackEntry * TrackEntry::getMixingFrom() // returns nullable pointer: TrackEntry *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/TrackEntry.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:1252 1252: public @Null TrackEntry getMixingFrom () { 1253- return mixingFrom; 1254- } 1255- 1256- /** The track entry for the next animation when mixing from this animation to the next animation, or null if no mixing is 1257- * currently occurring. When mixing to multiple animations, <code>mixingTo</code> makes up a linked list. */ 1258- public @Null TrackEntry getMixingTo () { 1259- return mixingTo; 1260- } 1261- - ../../spine-cpp/include/spine/TrackEntry.h:298 TrackEntry * TrackEntry::getMixingTo() // returns nullable pointer: TrackEntry *
NOT FOUND - file does not exist: ../../spine-cpp/src/spine/TrackEntry.cpp../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java:1258 1258: public @Null TrackEntry getMixingTo () { 1259- return mixingTo; 1260- } 1261- 1262- public void setHoldPrevious (boolean holdPrevious) { 1263- this.holdPrevious = holdPrevious; 1264- } 1265- 1266- /** If true, when mixing from the previous animation to this animation, the previous animation is applied as normal instead 1267- * of being mixed out. - ../../spine-cpp/include/spine/TransformConstraint.h:52 TransformConstraint * TransformConstraint::copy(Skeleton & skeleton) // returns nullable pointer: TransformConstraint *
../../spine-cpp/src/spine/TransformConstraint.cpp:56 56:TransformConstraint *TransformConstraint::copy(Skeleton &skeleton) { 57- TransformConstraint *copy = new (__FILE__, __LINE__) TransformConstraint(_data, skeleton); 58- copy->_pose.set(_pose); 59- return copy; 60-} 61- 62-/// Applies the constraint to the constrained bones. 63-void TransformConstraint::update(Skeleton &skeleton, Physics physics) { 64- TransformConstraintPose &p = *_applied; 65- if (p._mixRotate == 0 && p._mixX == 0 && p._mixY == 0 && p._mixScaleX == 0 && p._mixScaleY == 0 && p._mixShearY == 0) return;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java:58 58: public TransformConstraint copy (Skeleton skeleton) { 59- var copy = new TransformConstraint(data, skeleton); 60- copy.pose.set(pose); 61- return copy; 62- } 63- 64- /** Applies the constraint to the constrained bones. */ 65- public void update (Skeleton skeleton, Physics physics) { 66- TransformConstraintPose p = applied; 67- if (p.mixRotate == 0 & p.mixX == 0 & p.mixY == 0 & p.mixScaleX == 0 & p.mixScaleY == 0 & p.mixShearY == 0) return; - ../../spine-cpp/include/spine/TransformConstraint.h:65 Bone * TransformConstraint::getSource() // returns nullable pointer: Bone *
../../spine-cpp/src/spine/TransformConstraint.cpp:134 134:Bone *TransformConstraint::getSource() { 135- return _source; 136-} 137- 138-void TransformConstraint::setSource(Bone *source) { 139- _source = source; 140-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java:133 133: public Bone getSource () { 134- return source; 135- } 136- 137- public void setSource (Bone source) { 138- if (source == null) throw new IllegalArgumentException("source cannot be null."); 139- this.source = source; 140- } 141-} - ../../spine-cpp/include/spine/TransformConstraint.h:67 void TransformConstraint::setSource(Bone * source) // takes nullable parameter 'source': Bone *
../../spine-cpp/src/spine/TransformConstraint.cpp:138 138:void TransformConstraint::setSource(Bone *source) { 139- _source = source; 140-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java:137 137: public void setSource (Bone source) { 138- if (source == null) throw new IllegalArgumentException("source cannot be null."); 139- this.source = source; 140- } 141-} - ../../spine-cpp/include/spine/TransformConstraintData.h:260 Constraint * TransformConstraintData::create(Skeleton & skeleton) // returns nullable pointer: Constraint *
../../spine-cpp/src/spine/TransformConstraintData.cpp:353 353:Constraint *TransformConstraintData::create(Skeleton &skeleton) { 354- return new (__FILE__, __LINE__) TransformConstraint(*this, skeleton); 355-}../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java:52 52: public TransformConstraint create (Skeleton skeleton) { 53- return new TransformConstraint(this, skeleton); 54- } 55- 56- /** The bones that will be modified by this transform constraint. */ 57- public Array<BoneData> getBones () { 58- return bones; 59- } 60- 61- /** The bone whose world transform will be copied to the constrained bones. */ - ../../spine-cpp/include/spine/TransformConstraintData.h:266 BoneData * TransformConstraintData::getSource() // returns nullable pointer: BoneData *
../../spine-cpp/src/spine/TransformConstraintData.cpp:69 69:BoneData *TransformConstraintData::getSource() { 70- return _source; 71-} 72- 73-void TransformConstraintData::setSource(BoneData *source) { 74- _source = source; 75-} 76- 77-float TransformConstraintData::getOffsetRotation() { 78- return _offsets[ROTATION];../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java:62 62: public BoneData getSource () { 63- return source; 64- } 65- 66- public void setSource (BoneData source) { 67- if (source == null) throw new IllegalArgumentException("source cannot be null."); 68- this.source = source; 69- } 70- 71- /** An offset added to the constrained bone rotation. */ - ../../spine-cpp/include/spine/TransformConstraintData.h:267 void TransformConstraintData::setSource(BoneData * source) // takes nullable parameter 'source': BoneData *
../../spine-cpp/src/spine/TransformConstraintData.cpp:73 73:void TransformConstraintData::setSource(BoneData *source) { 74- _source = source; 75-} 76- 77-float TransformConstraintData::getOffsetRotation() { 78- return _offsets[ROTATION]; 79-} 80- 81-void TransformConstraintData::setOffsetRotation(float offsetRotation) { 82- _offsets[ROTATION] = offsetRotation;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java:66 66: public void setSource (BoneData source) { 67- if (source == null) throw new IllegalArgumentException("source cannot be null."); 68- this.source = source; 69- } 70- 71- /** An offset added to the constrained bone rotation. */ 72- public float getOffsetRotation () { 73- return offsets[ROTATION]; 74- } 75- - ../../spine-cpp/include/spine/VertexAttachment.h:89 Attachment * VertexAttachment::getTimelineAttachment() // returns nullable pointer: Attachment *
../../spine-cpp/src/spine/VertexAttachment.cpp:148 148:Attachment *VertexAttachment::getTimelineAttachment() { 149- return _timelineAttachment; 150-} 151- 152-void VertexAttachment::setTimelineAttachment(Attachment *attachment) { 153- _timelineAttachment = attachment; 154-} 155- 156-int VertexAttachment::getNextID() { 157- static int nextID = 0;../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/VertexAttachment.java:182 182: public @Null Attachment getTimelineAttachment () { 183- return timelineAttachment; 184- } 185- 186- /** @param timelineAttachment May be null if no attachment-specific timelines should be applied. */ 187- public void setTimelineAttachment (Attachment timelineAttachment) { 188- this.timelineAttachment = timelineAttachment; 189- } 190- 191- /** Returns a unique ID for this attachment. */ - ../../spine-cpp/include/spine/VertexAttachment.h:91 void VertexAttachment::setTimelineAttachment(Attachment * attachment) // takes nullable parameter 'attachment': Attachment *
../../spine-cpp/src/spine/VertexAttachment.cpp:152 152:void VertexAttachment::setTimelineAttachment(Attachment *attachment) { 153- _timelineAttachment = attachment; 154-} 155- 156-int VertexAttachment::getNextID() { 157- static int nextID = 0; 158- return nextID++; 159-} 160- 161-void VertexAttachment::copyTo(VertexAttachment *other) {../../spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/VertexAttachment.java:187 187: public void setTimelineAttachment (Attachment timelineAttachment) { 188- this.timelineAttachment = timelineAttachment; 189- } 190- 191- /** Returns a unique ID for this attachment. */ 192- public int getId () { 193- return id; 194- } 195- 196- static private synchronized int nextID () { - ../../spine-cpp/include/spine/VertexAttachment.h:93 void VertexAttachment::copyTo(VertexAttachment * other) // takes nullable parameter 'other': VertexAttachment *
../../spine-cpp/src/spine/VertexAttachment.cpp:161 161:void VertexAttachment::copyTo(VertexAttachment *other) { 162- other->_bones.clearAndAddAll(this->_bones); 163- other->_vertices.clearAndAddAll(this->_vertices); 164- other->_worldVerticesLength = this->_worldVerticesLength; 165- other->_timelineAttachment = this->_timelineAttachment; 166-}NOT FOUND - searched for class "VertexAttachment" (from C++ "VertexAttachment") and method "copyTo" across all Java files