public class SCNNode extends NSObject implements NSCopying, NSSecureCoding, SCNAnimatable, SCNActionable, SCNBoundingVolume, UIFocusItem
SCNNode is the model class for node-tree objects.
It encapsulates the position, rotations, and other transforms of a node, which define a coordinate system. The coordinate systems of all the sub-nodes are relative to the one of their parent node.
| Modifier and Type | Class and Description |
|---|---|
static interface |
SCNNode.Block_childNodesPassingTest |
static interface |
SCNNode.Block_enumerateChildNodesUsingBlock |
static interface |
SCNNode.Block_enumerateHierarchyUsingBlock |
NSObject.Function_instanceMethodForSelector_ret, NSObject.Function_methodForSelector_retSCNActionable.Block_runActionCompletionHandler, SCNActionable.Block_runActionForKeyCompletionHandler| Modifier | Constructor and Description |
|---|---|
protected |
SCNNode(org.moe.natj.general.Pointer peer) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
_supportsSecureCoding()
This property must return YES on all classes that allow secure coding.
|
static boolean |
accessInstanceVariablesDirectly() |
SCNAction |
actionForKey(java.lang.String key)
actionForKey:
|
NSArray<java.lang.String> |
actionKeys()
[@property] actionKeys
|
void |
addAnimationForKey(SCNAnimation animation,
java.lang.String key)
addAnimation:forKey:
|
void |
addAnimationPlayerForKey(SCNAnimationPlayer player,
java.lang.String key)
addAnimationPlayer:forKey:
|
void |
addAudioPlayer(SCNAudioPlayer player)
addAudioPlayer:
|
void |
addChildNode(SCNNode child)
addChildNode:
|
void |
addParticleSystem(SCNParticleSystem system)
Add a particle system to the receiver.
|
static SCNNode |
alloc() |
static SCNNode |
allocWithZone(org.moe.natj.general.ptr.VoidPtr zone) |
CAAnimation |
animationForKey(java.lang.String key)
animationForKey:
|
NSArray<java.lang.String> |
animationKeys()
[@property] animationKeys
|
SCNAnimationPlayer |
animationPlayerForKey(java.lang.String key)
animationPlayerForKey:
|
NSArray<? extends SCNAudioPlayer> |
audioPlayers()
[@property] audioPlayers
|
static boolean |
automaticallyNotifiesObserversForKey(java.lang.String key) |
SCNCamera |
camera()
[@property] camera
|
boolean |
canBecomeFocused()
Indicates whether or not this item is currently allowed to become focused.
|
static void |
cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget) |
static void |
cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget,
org.moe.natj.objc.SEL aSelector,
java.lang.Object anArgument) |
boolean |
castsShadow()
[@property] castsShadow
|
long |
categoryBitMask()
[@property] categoryBitMask
|
NSArray<? extends SCNNode> |
childNodes()
[@property] childNodes
|
NSArray<? extends SCNNode> |
childNodesPassingTest(SCNNode.Block_childNodesPassingTest predicate)
childNodesPassingTest:
|
SCNNode |
childNodeWithNameRecursively(java.lang.String name,
boolean recursively)
childNodeWithName:recursively:
|
static NSArray<java.lang.String> |
classFallbacksForKeyedArchiver() |
static org.moe.natj.objc.Class |
classForKeyedUnarchiver() |
SCNNode |
clone()
clone
|
NSArray<? extends SCNConstraint> |
constraints()
[@property] constraints
|
SCNVector3 |
convertPositionFromNode(SCNVector3 position,
SCNNode node)
convertPosition:fromNode:
|
SCNVector3 |
convertPositionToNode(SCNVector3 position,
SCNNode node)
convertPosition:toNode:
|
SCNMatrix4 |
convertTransformFromNode(SCNMatrix4 transform,
SCNNode node)
convertTransform:fromNode:
|
SCNMatrix4 |
convertTransformToNode(SCNMatrix4 transform,
SCNNode node)
convertTransform:toNode:
|
SCNVector3 |
convertVectorFromNode(SCNVector3 vector,
SCNNode node)
Converts a vector from the coordinate system of a given node to that of the receiver.
|
SCNVector3 |
convertVectorToNode(SCNVector3 vector,
SCNNode node)
Converts a vector from the coordinate system of a given node to that of the receiver.
|
java.lang.Object |
copyWithZone(org.moe.natj.general.ptr.VoidPtr zone) |
static java.lang.String |
debugDescription_static() |
static java.lang.String |
description_static() |
void |
didHintFocusMovement(UIFocusMovementHint hint)
Called whenever this focus item is hinting to the user a focus movement might occur.
|
void |
didUpdateFocusInContextWithAnimationCoordinator(UIFocusUpdateContext context,
UIFocusAnimationCoordinator coordinator)
Called when the screen’s focused item has been updated to a new item.
|
void |
encodeWithCoder(NSCoder coder) |
GKEntity |
entity()
The GKEntity associated with the node via a GKSCNNodeComponent.
|
void |
enumerateChildNodesUsingBlock(SCNNode.Block_enumerateChildNodesUsingBlock block)
enumerateChildNodesUsingBlock:
|
void |
enumerateHierarchyUsingBlock(SCNNode.Block_enumerateHierarchyUsingBlock block)
enumerateHierarchyUsingBlock:
|
SCNVector3 |
eulerAngles()
[@property] eulerAngles
|
NSArray<? extends CIFilter> |
filters()
[@property] filters
|
SCNNode |
flattenedClone()
flattenedClone
|
long |
focusBehavior()
[@property] focusBehavior
|
UIFocusEffect |
focusEffect()
Describes a visual effect to apply when this item is focused.
|
java.lang.String |
focusGroupIdentifier()
The identifier of the focus group that this view belongs to.
|
long |
focusGroupPriority()
The priority this item has in its focus group.
|
UIFocusItemContainer |
focusItemContainer()
The container of any child focus items in this focus environment, or nil if no container exists.
|
CGRect |
frame()
The geometric frame of this item, represented in the `coordinateSpace` of the UIFocusItemContainer in which it is contained.
|
SCNGeometry |
geometry()
[@property] geometry
|
boolean |
getBoundingBoxMinMax(SCNVector3 min,
SCNVector3 max)
getBoundingBoxMin:max:
|
boolean |
getBoundingSphereCenterRadius(SCNVector3 center,
org.moe.natj.general.ptr.NFloatPtr radius)
getBoundingSphereCenter:radius:
|
boolean |
hasActions()
[@property] hasActions
|
static long |
hash_static() |
NSArray<? extends SCNHitTestResult> |
hitTestWithSegmentFromPointToPointOptions(SCNVector3 pointA,
SCNVector3 pointB,
NSDictionary<java.lang.String,?> options)
hitTestWithSegmentFromPoint:toPoint:options:
|
SCNNode |
init() |
SCNNode |
initWithCoder(NSCoder coder)
NS_DESIGNATED_INITIALIZER
|
void |
insertChildNodeAtIndex(SCNNode child,
long index)
insertChildNode:atIndex:
|
static NSObject.Function_instanceMethodForSelector_ret |
instanceMethodForSelector(org.moe.natj.objc.SEL aSelector) |
static NSMethodSignature |
instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector) |
static boolean |
instancesRespondToSelector(org.moe.natj.objc.SEL aSelector) |
boolean |
isAnimationForKeyPaused(java.lang.String key)
isAnimationForKeyPaused:
|
boolean |
isHidden()
[@property] hidden
|
boolean |
isPaused()
[@property] paused
|
static boolean |
isSubclassOfClass(org.moe.natj.objc.Class aClass) |
boolean |
isTransparentFocusItem()
If this returns YES, the focus item is considered transparent in terms of occlusion.
|
static NSSet<java.lang.String> |
keyPathsForValuesAffectingValueForKey(java.lang.String key) |
SCNLight |
light()
[@property] light
|
static SCNVector3 |
localFront()
[@property] localFront
|
static SCNVector3 |
localRight()
[@property] localRight
|
void |
localRotateBy(SCNVector4 rotation)
Apply a the given rotation to the current one.
|
void |
localTranslateBy(SCNVector3 translation)
Translate the current node position along the given vector in local space.
|
static SCNVector3 |
localUp()
[@property] localUp
|
void |
lookAt(SCNVector3 worldTarget)
Convenience for calling lookAt:up:localFront: with worldUp set to `self.worldUp`
and localFront [SCNNode localFront].
|
void |
lookAtUpLocalFront(SCNVector3 worldTarget,
SCNVector3 worldUp,
SCNVector3 localFront)
Set the orientation of the node so its front vector is pointing toward a given
target.
|
SCNMorpher |
morpher()
[@property] morpher
|
long |
movabilityHint()
[@property] movabilityHint
|
java.lang.String |
name()
[@property] name
|
static SCNNode |
new_objc() |
static SCNNode |
node()
node
|
static SCNNode |
nodeWithGeometry(SCNGeometry geometry)
nodeWithGeometry:
|
static SCNNode |
nodeWithMDLObject(MDLObject mdlObject) |
double |
opacity()
[@property] opacity
|
SCNVector4 |
orientation()
[@property] orientation
|
UIFocusEnvironment |
parentFocusEnvironment()
The parent focus environment of this environment, or nil if no parent exists.
|
SCNNode |
parentNode()
[@property] parentNode
|
NSArray<? extends SCNParticleSystem> |
particleSystems()
The particle systems attached to the node.
|
void |
pauseAnimationForKey(java.lang.String key)
pauseAnimationForKey:
|
SCNPhysicsBody |
physicsBody()
[@property] physicsBody
|
SCNPhysicsField |
physicsField()
[@property] physicsField
|
SCNMatrix4 |
pivot()
[@property] pivot
|
SCNVector3 |
position()
[@property] position
|
UIView |
preferredFocusedView() |
NSArray<?> |
preferredFocusEnvironments()
The preferred focus environments define where to search for the default focused item in an environment, such as when focus updates programmatically.
|
SCNNode |
presentationNode()
[@property] presentationNode
|
void |
removeActionForKey(java.lang.String key)
removeActionForKey:
|
void |
removeAllActions()
removeAllActions
|
void |
removeAllAnimations()
removeAllAnimations
|
void |
removeAllAnimationsWithBlendOutDuration(double duration)
removeAllAnimationsWithBlendOutDuration
|
void |
removeAllAudioPlayers()
removeAllAudioPlayers
|
void |
removeAllParticleSystems()
Remove all particle systems of the receiver.
|
void |
removeAnimationForKey(java.lang.String key)
removeAnimationForKey
|
void |
removeAnimationForKeyBlendOutDuration(java.lang.String key,
double duration)
removeAnimationForKey:blendOutDuration:
|
void |
removeAnimationForKeyFadeOutDuration(java.lang.String key,
double duration)
removeAnimationForKey:fadeOutDuration:
|
void |
removeAudioPlayer(SCNAudioPlayer player)
removeAudioPlayer:
|
void |
removeFromParentNode()
removeFromParentNode
|
void |
removeParticleSystem(SCNParticleSystem system)
Remove the specified particle system from the receiver.
|
SCNNodeRendererDelegate |
rendererDelegate()
[@property] rendererDelegate
|
long |
renderingOrder()
[@property] renderingOrder
|
void |
replaceChildNodeWith(SCNNode oldChild,
SCNNode newChild)
replaceChildNode:with:
|
static boolean |
resolveClassMethod(org.moe.natj.objc.SEL sel) |
static boolean |
resolveInstanceMethod(org.moe.natj.objc.SEL sel) |
void |
resumeAnimationForKey(java.lang.String key)
resumeAnimationForKey:
|
void |
rotateByAroundTarget(SCNVector4 worldRotation,
SCNVector3 worldTarget)
Apply a rotation relative to a target point in parent space.
|
SCNVector4 |
rotation()
[@property] rotation
|
void |
runAction(SCNAction action)
runAction:
|
void |
runActionCompletionHandler(SCNAction action,
SCNActionable.Block_runActionCompletionHandler block)
runAction:completionHandler:
|
void |
runActionForKey(SCNAction action,
java.lang.String key)
runAction:forKey:
|
void |
runActionForKeyCompletionHandler(SCNAction action,
java.lang.String key,
SCNActionable.Block_runActionForKeyCompletionHandler block)
runAction:forKey:completionHandler:
|
SCNVector3 |
scale()
[@property] scale
|
void |
setBoundingBoxMinMax(SCNVector3 min,
SCNVector3 max)
setBoundingBoxMin:max:
|
void |
setCamera(SCNCamera value)
[@property] camera
|
void |
setCastsShadow(boolean value)
[@property] castsShadow
|
void |
setCategoryBitMask(long value)
[@property] categoryBitMask
|
void |
setConstraints(NSArray<? extends SCNConstraint> value)
[@property] constraints
|
void |
setEntity_unsafe(GKEntity value)
The GKEntity associated with the node via a GKSCNNodeComponent.
|
void |
setEntity(GKEntity value)
The GKEntity associated with the node via a GKSCNNodeComponent.
|
void |
setEulerAngles(SCNVector3 value)
[@property] eulerAngles
|
void |
setFilters(NSArray<? extends CIFilter> value)
[@property] filters
|
void |
setFocusBehavior(long value)
[@property] focusBehavior
|
void |
setGeometry(SCNGeometry value)
[@property] geometry
|
void |
setHidden(boolean value)
[@property] hidden
|
void |
setLight(SCNLight value)
[@property] light
|
void |
setMorpher(SCNMorpher value)
[@property] morpher
|
void |
setMovabilityHint(long value)
[@property] movabilityHint
|
void |
setName(java.lang.String value)
[@property] name
|
void |
setNeedsFocusUpdate()
Marks this environment as needing a focus update, which if accepted will attempt to reset focus to this environment, or one of its preferred focus environments, on the next update cycle.
|
void |
setOpacity(double value)
[@property] opacity
|
void |
setOrientation(SCNVector4 value)
[@property] orientation
|
void |
setPaused(boolean value)
[@property] paused
|
void |
setPhysicsBody(SCNPhysicsBody value)
[@property] physicsBody
|
void |
setPhysicsField(SCNPhysicsField value)
[@property] physicsField
|
void |
setPivot(SCNMatrix4 value)
[@property] pivot
|
void |
setPosition(SCNVector3 value)
[@property] position
|
void |
setRendererDelegate_unsafe(SCNNodeRendererDelegate value)
[@property] rendererDelegate
|
void |
setRendererDelegate(SCNNodeRendererDelegate value)
[@property] rendererDelegate
|
void |
setRenderingOrder(long value)
[@property] renderingOrder
|
void |
setRotation(SCNVector4 value)
[@property] rotation
|
void |
setScale(SCNVector3 value)
[@property] scale
|
void |
setSkinner(SCNSkinner value)
[@property] skinner
|
void |
setSpeedForAnimationKey(double speed,
java.lang.String key)
setSpeed:forAnimationKey:
|
void |
setTransform(SCNMatrix4 value)
[@property] transform
|
static void |
setVersion_static(long aVersion) |
void |
setWorldOrientation(SCNVector4 value)
[@property] worldOrientation
|
void |
setWorldPosition(SCNVector3 value)
[@property] worldPosition
|
void |
setWorldTransform(SCNMatrix4 worldTransform) |
boolean |
shouldUpdateFocusInContext(UIFocusUpdateContext context)
Asks whether the system should allow a focus update to occur.
|
SCNSkinner |
skinner()
[@property] skinner
|
static org.moe.natj.objc.Class |
superclass_static() |
static boolean |
supportsSecureCoding() |
SCNMatrix4 |
transform()
[@property] transform
|
void |
updateFocusIfNeeded()
Forces focus to be updated immediately.
|
static long |
version_static() |
SCNVector3 |
worldFront()
[@property] worldFront
|
SCNVector4 |
worldOrientation()
[@property] worldOrientation
|
SCNVector3 |
worldPosition()
[@property] worldPosition
|
SCNVector3 |
worldRight()
[@property] worldRight
|
SCNMatrix4 |
worldTransform()
[@property] worldTransform
|
SCNVector3 |
worldUp()
[@property] worldUp
|
accessibilityActivate, accessibilityActivationPoint, accessibilityAssistiveTechnologyFocusedIdentifiers, accessibilityAttributedHint, accessibilityAttributedLabel, accessibilityAttributedUserInputLabels, accessibilityAttributedValue, accessibilityContainerType, accessibilityCustomActions, accessibilityCustomRotors, accessibilityDecrement, accessibilityDragSourceDescriptors, accessibilityDropPointDescriptors, accessibilityElementAtIndex, accessibilityElementCount, accessibilityElementDidBecomeFocused, accessibilityElementDidLoseFocus, accessibilityElementIsFocused, accessibilityElements, accessibilityElementsHidden, accessibilityFrame, accessibilityHint, accessibilityIncrement, accessibilityLabel, accessibilityLanguage, accessibilityNavigationStyle, accessibilityPath, accessibilityPerformEscape, accessibilityPerformMagicTap, accessibilityRespondsToUserInteraction, accessibilityScroll, accessibilityTextualContext, accessibilityTraits, accessibilityUserInputLabels, accessibilityValue, accessibilityViewIsModal, addObserverForKeyPathOptionsContext, attemptRecoveryFromErrorOptionIndex, attemptRecoveryFromErrorOptionIndexDelegateDidRecoverSelectorContextInfo, autoContentAccessingProxy, awakeAfterUsingCoder, awakeFromNib, class_objc, classForCoder, classForKeyedArchiver, copy, dealloc, debugDescription, description, dictionaryWithValuesForKeys, didChangeValueForKey, didChangeValueForKeyWithSetMutationUsingObjects, didChangeValuesAtIndexesForKey, doesNotRecognizeSelector, fileManagerShouldProceedAfterError, fileManagerWillProcessPath, finalize_objc, forwardingTargetForSelector, forwardInvocation, hash, indexOfAccessibilityElement, isAccessibilityElement, isEqual, isKindOfClass, isMemberOfClass, isProxy, methodForSelector, methodSignatureForSelector, mutableArrayValueForKey, mutableArrayValueForKeyPath, mutableCopy, mutableOrderedSetValueForKey, mutableOrderedSetValueForKeyPath, mutableSetValueForKey, mutableSetValueForKeyPath, observationInfo, observeValueForKeyPathOfObjectChangeContext, performSelector, performSelectorInBackgroundWithObject, performSelectorOnMainThreadWithObjectWaitUntilDone, performSelectorOnMainThreadWithObjectWaitUntilDoneModes, performSelectorOnThreadWithObjectWaitUntilDone, performSelectorOnThreadWithObjectWaitUntilDoneModes, performSelectorWithObject, performSelectorWithObjectAfterDelay, performSelectorWithObjectAfterDelayInModes, performSelectorWithObjectWithObject, prepareForInterfaceBuilder, provideImageDataBytesPerRowOrigin_Size_UserInfo, removeObserverForKeyPath, removeObserverForKeyPathContext, replacementObjectForCoder, replacementObjectForKeyedArchiver, respondsToSelector, self, setAccessibilityActivationPoint, setAccessibilityAttributedHint, setAccessibilityAttributedLabel, setAccessibilityAttributedUserInputLabels, setAccessibilityAttributedValue, setAccessibilityContainerType, setAccessibilityCustomActions, setAccessibilityCustomRotors, setAccessibilityDragSourceDescriptors, setAccessibilityDropPointDescriptors, setAccessibilityElements, setAccessibilityElementsHidden, setAccessibilityFrame, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLanguage, setAccessibilityNavigationStyle, setAccessibilityPath, setAccessibilityRespondsToUserInteraction, setAccessibilityTextualContext, setAccessibilityTraits, setAccessibilityUserInputLabels, setAccessibilityValue, setAccessibilityViewIsModal, setIsAccessibilityElement, setNilValueForKey, setObservationInfo, setShouldGroupAccessibilityChildren, setValueForKey, setValueForKeyPath, setValueForUndefinedKey, setValuesForKeysWithDictionary, shouldGroupAccessibilityChildren, superclass, validateValueForKeyError, validateValueForKeyPathError, valueForKey, valueForKeyPath, valueForUndefinedKey, willChangeValueForKey, willChangeValueForKeyWithSetMutationUsingObjects, willChangeValuesAtIndexesForKeypublic static boolean accessInstanceVariablesDirectly()
public static SCNNode alloc()
public static SCNNode allocWithZone(org.moe.natj.general.ptr.VoidPtr zone)
public static boolean automaticallyNotifiesObserversForKey(java.lang.String key)
public static void cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget)
public static void cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget,
org.moe.natj.objc.SEL aSelector,
java.lang.Object anArgument)
public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
public static org.moe.natj.objc.Class classForKeyedUnarchiver()
public static java.lang.String debugDescription_static()
public static java.lang.String description_static()
public static long hash_static()
public static NSObject.Function_instanceMethodForSelector_ret instanceMethodForSelector(org.moe.natj.objc.SEL aSelector)
public static NSMethodSignature instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector)
public static boolean instancesRespondToSelector(org.moe.natj.objc.SEL aSelector)
public static boolean isSubclassOfClass(org.moe.natj.objc.Class aClass)
public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey(java.lang.String key)
public static SCNNode new_objc()
public static SCNNode node()
Creates and initializes a node instance.
public static SCNNode nodeWithGeometry(SCNGeometry geometry)
Creates and initializes a node instance with the specified geometry attached.
geometry - The geometry to attach.public static boolean resolveClassMethod(org.moe.natj.objc.SEL sel)
public static boolean resolveInstanceMethod(org.moe.natj.objc.SEL sel)
public static void setVersion_static(long aVersion)
public static org.moe.natj.objc.Class superclass_static()
public static boolean supportsSecureCoding()
public static long version_static()
public SCNAction actionForKey(java.lang.String key)
SCNActionableReturns an action associated with a specific key.
actionForKey in interface SCNActionablepublic NSArray<java.lang.String> actionKeys()
SCNActionableReturns an array containing the keys of all actions currently attached to the receiver.
actionKeys in interface SCNActionablepublic void addAnimationForKey(SCNAnimation animation, java.lang.String key)
SCNAnimatableAdds and runs an animation
Only SCNAnimation (preferred), CABasicAnimation, CAKeyframeAnimation and CAAnimationGroup are supported. The animation starts playing right away. The animation is automatically removed on completion unless if removedOnCompletion is explicitly set to NO.
addAnimationForKey in interface SCNAnimatableanimation - Added animation.key - May be any string such that only one animation per unique key is added per animatable object. removedOnCompletion] public void addAudioPlayer(SCNAudioPlayer player)
Add an audio player to the node and starts playing it right away.
public void addChildNode(SCNNode child)
Appends the node to the receiver’s childNodes array.
child - The node to be added to the receiver’s childNodes array.public void addParticleSystem(SCNParticleSystem system)
public CAAnimation animationForKey(java.lang.String key)
SCNAnimatableReturns the animation with the given identifier
This will return nil if no such animation exists. Attempting to modify any properties of the returned object will result in undefined behavior.
animationForKey in interface SCNAnimatablekey - The identifier for the animation to retrieve.public NSArray<java.lang.String> animationKeys()
SCNAnimatableReturns an array containing the keys of all animations currently attached to the receiver.
animationKeys in interface SCNAnimatablepublic NSArray<? extends SCNAudioPlayer> audioPlayers()
Get an array with all the audio players connected and playing on this node.
public SCNCamera camera()
Determines the camera attached to the receiver.
public boolean castsShadow()
Determines if the node is rendered in shadow maps. Defaults to YES.
public long categoryBitMask()
Defines what logical 'categories' the receiver belongs too. Defaults to 1.
Categories can be used to 1. exclude nodes from the influence of a given light (see SCNLight.categoryBitMask) 2. include/exclude nodes from render passes (see SCNTechnique.h) 3. specify which nodes to use when hit-testing (see SCNHitTestOptionCategoryBitMask)
public SCNNode childNodeWithNameRecursively(java.lang.String name, boolean recursively)
Returns the first node found in the node tree with the specified name.
The search uses a pre-order tree traversal.
name - The name of the node you are searching for.recursively - Set to YES if you want the search to look through the sub-nodes recursively.public NSArray<? extends SCNNode> childNodes()
Returns the child node array of the receiver.
public NSArray<? extends SCNNode> childNodesPassingTest(SCNNode.Block_childNodesPassingTest predicate)
Returns the child nodes of the receiver that passes a test in a given Block.
The search is recursive and uses a pre-order tree traversal.
predicate - The block to apply to child nodes of the receiver. The block takes two arguments: "child" is a child node and "stop" is a reference to a Boolean value. The block can set the value to YES to stop further processing of the node hierarchy. The stop argument is an out-only argument. You should only ever set this Boolean to YES within the Block. The Block returns a Boolean value that indicates whether "child" passed the test.public SCNNode clone()
Returns a copy of the receiver. The returned instance is autoreleased.
The copy is recursive: every child node will be cloned, too. For a non-recursive copy, use copy instead. The copied nodes will share their attached objects (light, geometry, camera, ...) with the original instances; if you want, for example, to change the materials of the copy independently of the original object, you'll have to copy the geometry of the node separately.
clone in class java.lang.Objectpublic NSArray<? extends SCNConstraint> constraints()
An array of SCNConstraint that are applied to the receiver.
Adding or removing a constraint can be implicitly animated based on the current transaction.
public SCNVector3 convertPositionFromNode(SCNVector3 position, SCNNode node)
Converts a position from the coordinate system of a given node to that of the receiver.
position - A position specified in the local coordinate system of "node".node - The node from whose coordinate system "position" is to be converted. If "node" is nil, this method instead converts from world coordinates.public SCNVector3 convertPositionToNode(SCNVector3 position, SCNNode node)
Converts a position from the receiver’s coordinate system to that of the specified node.
position - A position specified in the local coordinate system of the receiver.node - The node into whose coordinate system "position" is to be converted. If "node" is nil, this method instead converts to world coordinates.public SCNMatrix4 convertTransformFromNode(SCNMatrix4 transform, SCNNode node)
Converts a transform from the coordinate system of a given node to that of the receiver.
transform - A transform specified in the local coordinate system of "node".node - The node from whose coordinate system "transform" is to be converted. If "node" is nil, this method instead converts from world coordinates.public SCNMatrix4 convertTransformToNode(SCNMatrix4 transform, SCNNode node)
Converts a transform from the receiver’s coordinate system to that of the specified node.
transform - A transform specified in the local coordinate system of the receiver.node - The node into whose coordinate system "transform" is to be converted. If "node" is nil, this method instead converts to world coordinates.public java.lang.Object copyWithZone(org.moe.natj.general.ptr.VoidPtr zone)
copyWithZone in interface NSCopyingpublic void encodeWithCoder(NSCoder coder)
encodeWithCoder in interface NSCodingpublic void enumerateChildNodesUsingBlock(SCNNode.Block_enumerateChildNodesUsingBlock block)
Executes a given block on each child node under the receiver.
The search is recursive and uses a pre-order tree traversal.
block - The block to apply to child nodes of the receiver. The block takes two arguments: "child" is a child node and "stop" is a reference to a Boolean value. The block can set the value to YES to stop further processing of the node hierarchy. The stop argument is an out-only argument. You should only ever set this Boolean to YES within the Block.public void enumerateHierarchyUsingBlock(SCNNode.Block_enumerateHierarchyUsingBlock block)
Executes a given block on the receiver and its child nodes.
The search is recursive and uses a pre-order tree traversal.
block - The block to apply to the receiver and its child nodes. The block takes two arguments: "node" is a node in the hierarchy of the receiver (including the receiver) and "stop" is a reference to a Boolean value. The block can set the value to YES to stop further processing of the node hierarchy. The stop argument is an out-only argument. You should only ever set this Boolean to YES within the Block.public SCNVector3 eulerAngles()
Determines the receiver's euler angles. Animatable. [@dicussion] The order of components in this vector matches the axes of rotation: 1. Pitch (the x component) is the rotation about the node's x-axis (in radians) 2. Yaw (the y component) is the rotation about the node's y-axis (in radians) 3. Roll (the z component) is the rotation about the node's z-axis (in radians) SceneKit applies these rotations in the reverse order of the components: 1. first roll 2. then yaw 3. then pitch
public NSArray<? extends CIFilter> filters()
An array of Core Image filters that are applied to the rendering of the receiver and its child nodes. Animatable.
Defaults to nil. Filter properties should be modified by calling setValue:forKeyPath: on each node that the filter is attached to. If the inputs of the filter are modified directly after the filter is attached to a node, the behavior is undefined.
public SCNNode flattenedClone()
Returns a clone of the node containing a geometry that concatenates all the geometries contained in the node hierarchy. The returned clone is autoreleased.
public SCNGeometry geometry()
Returns the geometry attached to the receiver.
public boolean getBoundingBoxMinMax(SCNVector3 min, SCNVector3 max)
SCNBoundingVolumeFill the min and max vectors with the min and max vertex of the bounding box.
the returned bounding box is in local space of the receiver.
getBoundingBoxMinMax in interface SCNBoundingVolumemin - A pointer to a SCNVector3 to store the min vertex of the bounding box into.max - A pointer to a SCNVector3 to store the max vertex of the bounding box into.public boolean getBoundingSphereCenterRadius(SCNVector3 center, org.moe.natj.general.ptr.NFloatPtr radius)
SCNBoundingVolumeFill the center vector with the center of the bounding sphere and store the radius of the bounding sphere in 'radius'.
the returned bounding sphere is in local space of the receiver.
getBoundingSphereCenterRadius in interface SCNBoundingVolumecenter - A pointer to a SCNVector3 to store the center of the bounding sphere into.radius - A pointer to a CGFloat to store the radius of the bounding sphere into.public boolean hasActions()
SCNActionableReturns a Boolean value that indicates whether the node is executing actions.
hasActions in interface SCNActionablepublic NSArray<? extends SCNHitTestResult> hitTestWithSegmentFromPointToPointOptions(SCNVector3 pointA, SCNVector3 pointB, NSDictionary<java.lang.String,?> options)
Returns an array of SCNHitTestResult for each node in the receiver's sub tree that intersects the specified segment.
See SCNSceneRenderer.h for a screen-space hit testing method.
pointA - The first point of the segment relative to the receiver.pointB - The second point of the segment relative to the receiver.options - Optional parameters (see the "Hit test options" section in SCNSceneRenderer.h for the available options).public SCNNode initWithCoder(NSCoder coder)
NSCodinginitWithCoder in interface NSCodingpublic void insertChildNodeAtIndex(SCNNode child, long index)
Insert a node in the childNodes array at the specified index.
child - The node to insert.index - Index in the childNodes array to insert the node.public boolean isAnimationForKeyPaused(java.lang.String key)
SCNAnimatableReturns whether the animation for the specified identifier is paused.
isAnimationForKeyPaused in interface SCNAnimatablekey - The identifier for the animation to query.public boolean isHidden()
Determines whether the receiver is displayed. Defaults to NO. Animatable.
public void setHidden(boolean value)
Determines whether the receiver is displayed. Defaults to NO. Animatable.
public boolean isPaused()
Controls whether or not the node's actions and animations are updated or paused. Defaults to NO.
public void setPaused(boolean value)
Controls whether or not the node's actions and animations are updated or paused. Defaults to NO.
public SCNLight light()
Determines the light attached to the receiver.
public SCNMorpher morpher()
Returns the morpher attached to the receiver.
public long movabilityHint()
Communicates to SceneKit’s rendering system about how you want to move content in your scene; it does not affect your ability to change the node’s position or add animations or physics to the node. Defaults to SCNMovabilityHintFixed.
public java.lang.String name()
Determines the name of the receiver.
public double opacity()
Determines the opacity of the receiver. Default is 1. Animatable.
public SCNVector4 orientation()
Determines the receiver's orientation as a unit quaternion. Animatable.
public SCNNode parentNode()
Returns the parent node of the receiver.
public NSArray<? extends SCNParticleSystem> particleSystems()
public void pauseAnimationForKey(java.lang.String key)
SCNAnimatablePause the animation with the given identifier.
pauseAnimationForKey in interface SCNAnimatablekey - The identifier for the animation to pause.public SCNPhysicsBody physicsBody()
The description of the physics body of the receiver.
Default is nil.
public SCNPhysicsField physicsField()
The description of the physics field of the receiver.
Default is nil.
public SCNMatrix4 pivot()
Determines the receiver's pivot. Animatable.
public SCNVector3 position()
Determines the receiver's position. Animatable.
public SCNNode presentationNode()
Returns the presentation node.
Returns a copy of the node containing all the properties as they were at the start of the current transaction, with any active animations applied. This gives a close approximation to the version of the node that is currently displayed. The effect of attempting to modify the returned node in any way is undefined. The returned node has no parent and no child nodes.
public void removeActionForKey(java.lang.String key)
SCNActionableRemoves an action associated with a specific key.
removeActionForKey in interface SCNActionablepublic void removeAllActions()
SCNActionableEnds and removes all actions from the node.
removeAllActions in interface SCNActionablepublic void removeAllAnimations()
SCNAnimatableRemove all animations.
removeAllAnimations in interface SCNAnimatablepublic void removeAllAudioPlayers()
Remove all audio players from this node and stop playing them.
public void removeAllParticleSystems()
public void removeAnimationForKey(java.lang.String key)
SCNAnimatableRemove the animation with the given identifier.
removeAnimationForKey in interface SCNAnimatablekey - The identifier for the animation to remove.public void removeAnimationForKeyFadeOutDuration(java.lang.String key,
double duration)
SCNAnimatableSmoothly remove the animation with the given identifier.
removeAnimationForKeyFadeOutDuration in interface SCNAnimatablekey - The identifier for the animation to remove.duration - The fade out duration used to remove the animation.public void removeAudioPlayer(SCNAudioPlayer player)
Remove the given audio player from this node and stop playing it.
public void removeFromParentNode()
Removes the node from the childNodes array of the receiver’s parentNode.
public void removeParticleSystem(SCNParticleSystem system)
public SCNNodeRendererDelegate rendererDelegate()
Specifies the receiver's renderer delegate object.
Setting a renderer delegate prevents the SceneKit renderer from drawing the node and lets you use custom OpenGL code instead. The preferred way to customize the rendering is to tweak the material properties of the different materials of the node's geometry. SCNMaterial conforms to the SCNShadable protocol and allows for more advanced rendering using GLSL. You would typically use a renderer delegate with a node that has no geometry and only serves as a location in space. An example would be attaching a particle system to that node and render it with custom OpenGL code.
public long renderingOrder()
Determines the rendering order of the receiver.
Nodes with greater rendering orders are rendered last. Defaults to 0.
public void replaceChildNodeWith(SCNNode oldChild, SCNNode newChild)
Remove `child' from the childNode array of the receiver and insert 'child2' if non-nil in its position.
If the parentNode of `child' is not the receiver, the behavior is undefined.
oldChild - The node to replace in the childNodes array.newChild - The new node that will replace the previous one.public void resumeAnimationForKey(java.lang.String key)
SCNAnimatableResume the animation with the given identifier.
resumeAnimationForKey in interface SCNAnimatablekey - The identifier for the animation to resume.public SCNVector4 rotation()
Determines the receiver's rotation. Animatable.
The rotation is axis angle rotation. The three first components are the axis, the fourth one is the rotation (in radian).
public void runAction(SCNAction action)
SCNActionableAdds an action to the list of actions executed by the node.
runAction in interface SCNActionablepublic void runActionCompletionHandler(SCNAction action, SCNActionable.Block_runActionCompletionHandler block)
SCNActionableAdds an action to the list of actions executed by the node. Your block is called when the action completes.
runActionCompletionHandler in interface SCNActionablepublic void runActionForKey(SCNAction action, java.lang.String key)
SCNActionableAdds an identifiable action to the list of actions executed by the node.
runActionForKey in interface SCNActionablepublic void runActionForKeyCompletionHandler(SCNAction action, java.lang.String key, SCNActionable.Block_runActionForKeyCompletionHandler block)
SCNActionableAdds an identifiable action to the list of actions executed by the node. Your block is called when the action completes.
runActionForKeyCompletionHandler in interface SCNActionablepublic SCNVector3 scale()
Determines the receiver's scale. Animatable.
public void setBoundingBoxMinMax(SCNVector3 min, SCNVector3 max)
SCNBoundingVolumeOverride the receiver bounding box with the min and max vectors provided (in local space of the receiver).
Passing nil as arguments will recompute the original bounding box of the receiver.
setBoundingBoxMinMax in interface SCNBoundingVolumemin - A pointer to a SCNVector3 representing the min vertex of the desired bounding box.max - A pointer to a SCNVector3 representing the max vertex of the desired bounding box.public void setCamera(SCNCamera value)
Determines the camera attached to the receiver.
public void setCastsShadow(boolean value)
Determines if the node is rendered in shadow maps. Defaults to YES.
public void setCategoryBitMask(long value)
Defines what logical 'categories' the receiver belongs too. Defaults to 1.
Categories can be used to 1. exclude nodes from the influence of a given light (see SCNLight.categoryBitMask) 2. include/exclude nodes from render passes (see SCNTechnique.h) 3. specify which nodes to use when hit-testing (see SCNHitTestOptionCategoryBitMask)
public void setConstraints(NSArray<? extends SCNConstraint> value)
An array of SCNConstraint that are applied to the receiver.
Adding or removing a constraint can be implicitly animated based on the current transaction.
public void setEulerAngles(SCNVector3 value)
Determines the receiver's euler angles. Animatable. [@dicussion] The order of components in this vector matches the axes of rotation: 1. Pitch (the x component) is the rotation about the node's x-axis (in radians) 2. Yaw (the y component) is the rotation about the node's y-axis (in radians) 3. Roll (the z component) is the rotation about the node's z-axis (in radians) SceneKit applies these rotations in the reverse order of the components: 1. first roll 2. then yaw 3. then pitch
public void setFilters(NSArray<? extends CIFilter> value)
An array of Core Image filters that are applied to the rendering of the receiver and its child nodes. Animatable.
Defaults to nil. Filter properties should be modified by calling setValue:forKeyPath: on each node that the filter is attached to. If the inputs of the filter are modified directly after the filter is attached to a node, the behavior is undefined.
public void setGeometry(SCNGeometry value)
Returns the geometry attached to the receiver.
public void setLight(SCNLight value)
Determines the light attached to the receiver.
public void setMorpher(SCNMorpher value)
Returns the morpher attached to the receiver.
public void setMovabilityHint(long value)
Communicates to SceneKit’s rendering system about how you want to move content in your scene; it does not affect your ability to change the node’s position or add animations or physics to the node. Defaults to SCNMovabilityHintFixed.
public void setName(java.lang.String value)
Determines the name of the receiver.
public void setOpacity(double value)
Determines the opacity of the receiver. Default is 1. Animatable.
public void setOrientation(SCNVector4 value)
Determines the receiver's orientation as a unit quaternion. Animatable.
public void setPhysicsBody(SCNPhysicsBody value)
The description of the physics body of the receiver.
Default is nil.
public void setPhysicsField(SCNPhysicsField value)
The description of the physics field of the receiver.
Default is nil.
public void setPivot(SCNMatrix4 value)
Determines the receiver's pivot. Animatable.
public void setPosition(SCNVector3 value)
Determines the receiver's position. Animatable.
public void setRendererDelegate_unsafe(SCNNodeRendererDelegate value)
Specifies the receiver's renderer delegate object.
Setting a renderer delegate prevents the SceneKit renderer from drawing the node and lets you use custom OpenGL code instead. The preferred way to customize the rendering is to tweak the material properties of the different materials of the node's geometry. SCNMaterial conforms to the SCNShadable protocol and allows for more advanced rendering using GLSL. You would typically use a renderer delegate with a node that has no geometry and only serves as a location in space. An example would be attaching a particle system to that node and render it with custom OpenGL code.
public void setRendererDelegate(SCNNodeRendererDelegate value)
Specifies the receiver's renderer delegate object.
Setting a renderer delegate prevents the SceneKit renderer from drawing the node and lets you use custom OpenGL code instead. The preferred way to customize the rendering is to tweak the material properties of the different materials of the node's geometry. SCNMaterial conforms to the SCNShadable protocol and allows for more advanced rendering using GLSL. You would typically use a renderer delegate with a node that has no geometry and only serves as a location in space. An example would be attaching a particle system to that node and render it with custom OpenGL code.
public void setRenderingOrder(long value)
Determines the rendering order of the receiver.
Nodes with greater rendering orders are rendered last. Defaults to 0.
public void setRotation(SCNVector4 value)
Determines the receiver's rotation. Animatable.
The rotation is axis angle rotation. The three first components are the axis, the fourth one is the rotation (in radian).
public void setScale(SCNVector3 value)
Determines the receiver's scale. Animatable.
public void setSkinner(SCNSkinner value)
Returns the skinner attached to the receiver.
public void setSpeedForAnimationKey(double speed,
java.lang.String key)
SCNAnimatableUpdate the animation speed of the animation with the given identifier.
setSpeedForAnimationKey in interface SCNAnimatablespeed - The new speed of the animation.key - The identifier for the animation to update.public void setTransform(SCNMatrix4 value)
Determines the receiver's transform. Animatable.
The transform is the combination of the position, rotation and scale defined below. So when the transform is set, the receiver's position, rotation and scale are changed to match the new transform.
public SCNSkinner skinner()
Returns the skinner attached to the receiver.
public boolean _supportsSecureCoding()
NSSecureCoding_supportsSecureCoding in interface NSSecureCodingpublic SCNMatrix4 transform()
Determines the receiver's transform. Animatable.
The transform is the combination of the position, rotation and scale defined below. So when the transform is set, the receiver's position, rotation and scale are changed to match the new transform.
public SCNMatrix4 worldTransform()
Determines the receiver's transform in world space (relative to the scene's root node). Animatable.
public void addAnimationPlayerForKey(SCNAnimationPlayer player, java.lang.String key)
SCNAnimatableAdd an animation player.
The animation player is not removed automatically on completion. The animation doesn't start playing immediatelly. Call "play" on the player to start playing it.
addAnimationPlayerForKey in interface SCNAnimatableplayer - Added animation player.key - May be any string such that only one animation per unique key is added per animatable object.play]public SCNAnimationPlayer animationPlayerForKey(java.lang.String key)
SCNAnimatableReturns the animation player with the given identifier
This will return nil if no such animation player exists.
animationPlayerForKey in interface SCNAnimatablekey - The identifier for the animation player to retrieve.public boolean canBecomeFocused()
UIFocusItemcanBecomeFocused in interface UIFocusItempublic SCNVector3 convertVectorFromNode(SCNVector3 vector, SCNNode node)
vector - A vector specified in the local coordinate system of "node".node - The node defining the space to which the vector should be transformed to. If "node" is nil, this method instead converts from world coordinates.public SCNVector3 convertVectorToNode(SCNVector3 vector, SCNNode node)
vector - A vector specified in the local coordinate system the receiver.node - The node defining the space from which the vector should be transformed. If "node" is nil, this method instead converts from world coordinates.public void didUpdateFocusInContextWithAnimationCoordinator(UIFocusUpdateContext context, UIFocusAnimationCoordinator coordinator)
UIFocusEnvironmentdidUpdateFocusInContextWithAnimationCoordinator in interface UIFocusEnvironmentpublic GKEntity entity()
GKEntitypublic long focusBehavior()
Controls the behavior of the receiver regarding the UIFocus system. Defaults to SCNNodeFocusBehaviorNone.
public static SCNVector3 localFront()
The local unit -Z axis (0, 0, -1).
public static SCNVector3 localRight()
The local unit X axis (1, 0, 0).
public void localRotateBy(SCNVector4 rotation)
rotation - rotation in local space.public void localTranslateBy(SCNVector3 translation)
translation - the translation in local space.public static SCNVector3 localUp()
The local unit Y axis (0, 1, 0).
public void lookAt(SCNVector3 worldTarget)
worldTarget - target position in world space.public void lookAtUpLocalFront(SCNVector3 worldTarget, SCNVector3 worldUp, SCNVector3 localFront)
worldTarget - position in world space.worldUp - the up vector in world space.localFront - the front vector in local space.public NSArray<?> preferredFocusEnvironments()
UIFocusEnvironmentpreferredFocusEnvironments in interface UIFocusEnvironmentpublic UIView preferredFocusedView()
preferredFocusedView in interface UIFocusEnvironmentpublic void removeAnimationForKeyBlendOutDuration(java.lang.String key,
double duration)
SCNAnimatableSmoothly remove the animation with the given identifier.
removeAnimationForKeyBlendOutDuration in interface SCNAnimatablekey - The identifier for the animation to remove.duration - The blend out duration used to remove the animation.public void rotateByAroundTarget(SCNVector4 worldRotation, SCNVector3 worldTarget)
worldRotation - rotation to apply in world space.worldTarget - position of the target in world space.public void setEntity_unsafe(GKEntity value)
GKEntitypublic void setEntity(GKEntity value)
GKEntitypublic void setFocusBehavior(long value)
Controls the behavior of the receiver regarding the UIFocus system. Defaults to SCNNodeFocusBehaviorNone.
public void setNeedsFocusUpdate()
UIFocusEnvironmentsetNeedsFocusUpdate in interface UIFocusEnvironmentpublic void setWorldOrientation(SCNVector4 value)
Determines the receiver's orientation in world space (relative to the scene's root node). Animatable.
public void setWorldPosition(SCNVector3 value)
Determines the receiver's position in world space (relative to the scene's root node).
public void setWorldTransform(SCNMatrix4 worldTransform)
public boolean shouldUpdateFocusInContext(UIFocusUpdateContext context)
UIFocusEnvironmentshouldUpdateFocusInContext in interface UIFocusEnvironmentpublic void updateFocusIfNeeded()
UIFocusEnvironmentupdateFocusIfNeeded in interface UIFocusEnvironmentpublic SCNVector3 worldFront()
The local unit -Z axis (0, 0, -1) in world space.
public SCNVector4 worldOrientation()
Determines the receiver's orientation in world space (relative to the scene's root node). Animatable.
public SCNVector3 worldPosition()
Determines the receiver's position in world space (relative to the scene's root node).
public SCNVector3 worldRight()
The local unit X axis (1, 0, 0) in world space.
public SCNVector3 worldUp()
The local unit Y axis (0, 1, 0) in world space.
public void didHintFocusMovement(UIFocusMovementHint hint)
UIFocusItemdidHintFocusMovement in interface UIFocusItempublic UIFocusItemContainer focusItemContainer()
UIFocusEnvironmentfocusItemContainer in interface UIFocusEnvironmentpublic CGRect frame()
UIFocusItemframe in interface UIFocusItempublic UIFocusEnvironment parentFocusEnvironment()
UIFocusEnvironmentparentFocusEnvironment in interface UIFocusEnvironmentpublic java.lang.String focusGroupIdentifier()
UIFocusEnvironmentfocusGroupIdentifier in interface UIFocusEnvironmentpublic UIFocusEffect focusEffect()
UIFocusItemfocusEffect in interface UIFocusItempublic long focusGroupPriority()
UIFocusItemfocusGroupPriority in interface UIFocusItempublic boolean isTransparentFocusItem()
UIFocusItemisTransparentFocusItem in interface UIFocusItempublic void removeAllAnimationsWithBlendOutDuration(double duration)
SCNAnimatableSmoothly remove all animations.
removeAllAnimationsWithBlendOutDuration in interface SCNAnimatableduration - The blend out duration used to remove the animation.