Node

Inheritance: java.lang.Object, com.aspose.threed.A3DObject, com.aspose.threed.SceneObject

public class Node extends SceneObject

Representerar ett element i scengrafen. En scengraf är ett träd av Node‑objekt. Trädhanteringstjänsterna är självständiga i denna klass. Observera att Aspose.3D SDK inte testar giltigheten för den konstruerade scengrafen. Det är anroparens ansvar att säkerställa att den inte genererar cykliska grafer i en nodhierarki. Förutom trädhanteringen definierar denna klass alla egenskaper som krävs för att beskriva objektets position i scenen. Denna information inkluderar de grundläggande egenskaperna Translation, Rotation och Scaling samt mer avancerade alternativ för pivoter, begränsningar och IK‑ledattribut såsom styvhet och dämpning. När den först skapas är Node‑objektet “tomt” (dvs. ett objekt utan någon grafisk representation som endast innehåller positionsinformation). I detta tillstånd kan det användas för att representera föräldrar i nodträdet men inte mycket mer. Den normala användningen av denna typ av objekt är att lägga till dem en entity som specialiserar noden (se “Entity”). Entiteten är ett eget objekt och är kopplat till Node. Detta innebär också att samma entitet kan delas mellan flera noder. Kamera, Light, Mesh osv… är alla entiteter och de är alla härledda från basklassen Entity.

Konstruktörer

KonstruktorBeskrivning
Node()Initierar en ny instans av klassen Node.
Node(String name, Entity entity)Initierar en ny instans av klassen Node.
Node(String name)Initierar en ny instans av klassen Node.

Metoder

MetodBeskrivning
accept(NodeVisitor visitor)Går igenom alla efterföljande noder (inklusive den aktuella noden) och anropar besökaren med noden.
addChildNode(Node node)Lägg till en barnnod till denna nod
addEntity(Entity entity)Lägg till en entity till noden.
createChildNode()Skapar en barnnod
createChildNode(Entity entity)Skapa en ny barnnod med angiven entitet bifogad
createChildNode(String nodeName)Skapa en ny barnnod med angivet nodnamn
createChildNode(String nodeName, Entity entity)Skapa en ny barnnod med angivet nodnamn
createChildNode(String nodeName, Entity entity, Material material)Skapa en ny barnnod med angivet nodnamn och bifoga specificerad entitet och ett material
equals(Object arg0)
evaluateGlobalTransform(boolean withGeometricTransform)Utvärdera den globala transformen, inkludera den geometriska transformen eller inte.
findProperty(String propertyName)Hittar egenskapen.
getAssetInfo()Tillgångsinformation per nod
getBoundingBox()Beräkna nodens omgivningsbox
getChild(int index)Hämtar barnnoden på angivet index.
getChild(String nodeName)Hämtar barnnoden med det angivna namnet
getChildNodes()Hämtar barnnoderna.
getClass()
getEntities()Hämtar alla nodentiteter.
getEntity()Hämtar den första entiteten som är bifogad till denna nod, om den sätts rensas andra entiteter.
getExcluded()Hämtar om denna nod och alla barnnoder/entiteter ska exkluderas vid export.
getGlobalTransform()Hämtar den globala transformen.
getMaterial()Hämtar det första materialet som är associerat med denna nod, om den sätts rensas andra material
getMaterials()Hämtar materialen som är associerade med denna nod.
getMetaDatas()Hämtar metadata som definierats i denna nod.
getName()Hämtar namnet.
getParentNode()Hämtar föräldranoden.
getProperties()Hämtar samlingen av alla egenskaper.
getProperty(String property)Hämta värdet för angiven egenskap
getScene()Hämtar scenen som detta objekt tillhör
getTransform()Hämtar den lokala transformen.
getVisible()Hämtar för att visa noden
hashCode()
merge(Node node)Koppla bort allt under noden och bifoga dem till den aktuella noden.
notify()
notifyAll()
removeProperty(Property property)Tar bort en dynamisk egenskap.
removeProperty(String property)Ta bort den angivna egenskapen identifierad med namn
selectObjects(String path)Välj flera objekt under den aktuella noden med XPath-liknande frågesyntax.
selectSingleObject(String path)Välj ett enskilt objekt under den aktuella noden med XPath-liknande frågesyntax.
setAssetInfo(AssetInfo value)Tillgångsinformation per nod
setEntity(Entity value)Sätter den första entiteten som är bifogad till denna nod, om den sätts rensas andra entiteter.
setExcluded(boolean value)Sätter om denna nod och alla barnnoder/entiteter ska exkluderas vid export.
setMaterial(Material value)Ställer in det första materialet som är associerat med denna nod; om det ställs in, rensas andra material.
setName(String value)Ställer in namnet.
setParentNode(Node value)Ställer in föräldranoden.
setProperty(String property, Object value)Ställer in värdet för angiven egenskap
setVisible(boolean value)Ställer in att visa noden.
toString()Hämtar nodens strängrepresentation.
wait()
wait(long arg0)
wait(long arg0, int arg1)

Node()

public Node()

Initierar en ny instans av klassen Node.

Node(String name, Entity entity)

public Node(String name, Entity entity)

Initierar en ny instans av klassen Node.

Parameters:

ParameterTypBeskrivning
namnjava.lang.StringNamn.
entityEntityStandardentity.

Node(String name)

public Node(String name)

Initierar en ny instans av klassen Node.

Parameters:

ParameterTypBeskrivning
namnjava.lang.StringNamn.

accept(NodeVisitor visitor)

public boolean accept(NodeVisitor visitor)

Går igenom alla underordnade noder (inklusive den aktuella noden) och anropar besökaren med noden. Besökaren kan avbryta genomgången genom att returnera false.

Parameters:

ParameterTypBeskrivning
visitorNodeVisitorBesöksåteruppringning för att besöka noden.

Returns: boolean - true betyder att besökaren har avbrutit genomgången. Exempel: Följande kod visar hur man hämtar alla meshar från en scen

Scene scene = Scene.fromFile("input.fbx");
     List<Mesh> meshes = new ArrayList<Mesh>();
     scene.getRootNode().accept(new NodeVisitor() {
         @Override
         public boolean call(Node node) {
             if(node.Entity instanceof Mesh)
                 meshes.add(((Mesh)node).getEntity());
             //continue searching
             return true;
         }
     });

addChildNode(Node node)

public void addChildNode(Node node)

Lägg till en barnnod till denna nod

Parameters:

ParameterTypBeskrivning
nodeNode
Scene scene = Scene.fromFile("input.fbx");
     var newNode = new Node();
     //add a new node manually
     scene.getRootNode().addChildNode(newNode);
``` |

### addEntity(Entity entity) {#addEntity-com.aspose.threed.Entity-}

public void addEntity(Entity entity)



Lägg till en entity till noden.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| entity | [Entity](../../com.aspose.threed/entity) | Entiteten som ska fästas på noden. |

### createChildNode() {#createChildNode--}

public Node createChildNode()



Skapar en barnnod

**Returns:**
[Node](../../com.aspose.threed/node) - The new child node. **Example:** The following code shows how to create a new child node under root node

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(); node.setEntity(new Box()); scene.save(“output.fbx”);

### createChildNode(Entity entity) {#createChildNode-com.aspose.threed.Entity-}

public Node createChildNode(Entity entity)



Skapa en ny barnnod med angiven entitet bifogad

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| entity | [Entity](../../com.aspose.threed/entity) | Standardentity fäst vid noden. |

**Returns:**
[Node](../../com.aspose.threed/node) - The new child node. **Example:** The following code shows how to create a new child node under root node

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(new Box()); scene.save(“output.fbx”);

### createChildNode(String nodeName) {#createChildNode-java.lang.String-}

public Node createChildNode(String nodeName)



Skapa en ny barnnod med angivet nodnamn

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| nodeName | java.lang.String | Det nya barnnodens namn. |

**Returns:**
[Node](../../com.aspose.threed/node) - The new child node. **Example:** The following code shows how to create a new child node under root node

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(“new node”); node.setEntity(new Box()); scene.save(“output.fbx”);

### createChildNode(String nodeName, Entity entity) {#createChildNode-java.lang.String-com.aspose.threed.Entity-}

public Node createChildNode(String nodeName, Entity entity)



Skapa en ny barnnod med angivet nodnamn

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| nodeName | java.lang.String | Det nya barnnodens namn. |
| entity | [Entity](../../com.aspose.threed/entity) | Standardentity fäst vid noden. |

**Returns:**
[Node](../../com.aspose.threed/node) - The new child node.
### createChildNode(String nodeName, Entity entity, Material material) {#createChildNode-java.lang.String-com.aspose.threed.Entity-com.aspose.threed.Material-}

public Node createChildNode(String nodeName, Entity entity, Material material)



Skapa en ny barnnod med angivet nodnamn och bifoga specificerad entitet och ett material

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| nodeName | java.lang.String | Det nya barnnodens namn. |
| entity | [Entity](../../com.aspose.threed/entity) | Standardentity fäst vid noden. |
| material | [Material](../../com.aspose.threed/material) | Materialet som är fäst vid noden. |

**Returns:**
[Node](../../com.aspose.threed/node) - The new child node.
### equals(Object arg0) {#equals-java.lang.Object-}

public boolean equals(Object arg0)





**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| arg0 | java.lang.Object |  |

**Returns:**
boolean
### evaluateGlobalTransform(boolean withGeometricTransform) {#evaluateGlobalTransform-boolean-}

public Matrix4 evaluateGlobalTransform(boolean withGeometricTransform)



Utvärdera den globala transformen, inkludera den geometriska transformen eller inte.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| withGeometricTransform | boolean | Om den geometriska transformen behövs. |

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - The global transform matrix. **Example:** The following code shows how to read the node's global transform matrix.

Scene scene = new Scene(); var boxNode = scene.getRootNode().createChildNode(new Box()); //place the box at (10, 0, 0) boxNode.getTransform().setTranslation(new Vector3(10, 0, 0)); Matrix4 mat = boxNode.evaluateGlobalTransform(true); System.out.printf(“The box’s global transform matrix is %s”, mat);

### findProperty(String propertyName) {#findProperty-java.lang.String-}

public Property findProperty(String propertyName)



Hittar egenskapen. Den kan vara en dynamisk egenskap (Skapad av CreateDynamicProperty/SetProperty) eller en inbyggd egenskap (Identifierad med dess namn)

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| propertyName | java.lang.String | Egenskapsnamn. |

**Returns:**
[Property](../../com.aspose.threed/property) - The property.
### getAssetInfo() {#getAssetInfo--}

public AssetInfo getAssetInfo()



Tillgångsinformation per nod

**Returns:**
[AssetInfo](../../com.aspose.threed/assetinfo) - Per-node asset info
### getBoundingBox() {#getBoundingBox--}

public BoundingBox getBoundingBox()



Beräkna nodens omgivningsbox

**Returns:**
[BoundingBox](../../com.aspose.threed/boundingbox) - The bounding box of current node
### getChild(int index) {#getChild-int-}

public Node getChild(int index)



Hämtar barnnoden på angivet index.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| index | int | Index. |

**Returns:**
[Node](../../com.aspose.threed/node) - The child. **Example:** The following code shows how to get a child node at specified index.

Scene scene = Scene.fromFile(“input.fbx”); var node = scene.getRootNode().getChild(0); System.out.printf(“The first node of the file is %s”, node.getName());

### getChild(String nodeName) {#getChild-java.lang.String-}

public Node getChild(String nodeName)



Hämtar barnnoden med det angivna namnet

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| nodeName | java.lang.String | Barnnamnet att hitta. |

**Returns:**
[Node](../../com.aspose.threed/node) - The child. **Example:** The following code shows how to get a child node with specified name

Scene scene = Scene.fromFile(“input.fbx”); var node = scene.getRootNode().getChild(“box”); System.out.printf(“The box node’s translation is %s”, node.getTransform().getTranslation());

### getChildNodes() {#getChildNodes--}

public List getChildNodes()



Hämtar barnnoderna.

**Returns:**
java.util.List<com.aspose.threed.Node> - barnnoderna. **Exempel:** Följande kod visar hur man enumererar barnnoder för rot noden

Scene scene = Scene.fromFile(“test.fbx”); for(var child : scene.getRootNode().getChildNodes()) { //do your business }

### getClass() {#getClass--}

public final native Class getClass()





**Returns:**
java.lang.Class<?>
### getEntities() {#getEntities--}

public List getEntities()



Hämtar alla nodentiteter.

**Returns:**
java.util.List<com.aspose.threed.Entity> - alla nodentityer.
### getEntity() {#getEntity--}

public Entity getEntity()



Hämtar den första entiteten som är bifogad till denna nod, om den sätts rensas andra entiteter.

**Returns:**
[Entity](../../com.aspose.threed/entity) - the first entity attached to this node, if sets, will clear other entities. **Example:** The following code shows how to create a new child node under root node

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(“new node”); node.setEntity(new Box()); scene.save(“output.fbx”);

### getExcluded() {#getExcluded--}

public boolean getExcluded()



Hämtar om denna nod och alla barnnoder/entiteter ska exkluderas vid export.

**Returns:**
boolean - om denna nod och alla barnnoder/entityer ska exkluderas vid export. **Exempel:** Följande kod visar hur man exkluderar en specificerad nod från export

Scene scene = new Scene(); scene.getRootNode().createChildNode(“excluded”, new Box()).setExcluded(true); scene.getRootNode().createChildNode(“not excluded”, new Box()); scene.save(“output.usdz”);

### getGlobalTransform() {#getGlobalTransform--}

public GlobalTransform getGlobalTransform()



Hämtar den globala transformen.

**Returns:**
[GlobalTransform](../../com.aspose.threed/globaltransform) - the global transform. **Example:** The following code shows how to read node's global transform

Scene scene = new Scene(); var boxNode = scene.getRootNode().createChildNode(new Box()); //place the box at (10, 0, 0) boxNode.getTransform().setTranslation(new Vector3(10, 0, 0)); var global = boxNode.getGlobalTransform(); System.out.printf(“The box’s position in world coordinate is %s”, global.getTranslation());

### getMaterial() {#getMaterial--}

public Material getMaterial()



Hämtar det första materialet som är associerat med denna nod, om den sätts rensas andra material

**Returns:**
[Material](../../com.aspose.threed/material) - the first material associated with this node, if sets, will clear other materials **Example:**

Scene scene = new Scene(); var node = scene.getRootNode().createChildNode(new Box()); node.setMaterial(new LambertMaterial());

### getMaterials() {#getMaterials--}

public List getMaterials()



Hämtar materialen som är associerade med denna nod.

**Returns:**
java.util.List<com.aspose.threed.Material> - materialen som är associerade med denna nod.
### getMetaDatas() {#getMetaDatas--}

public List getMetaDatas()



Hämtar metadata som definierats i denna nod.

**Returns:**
java.util.List<com.aspose.threed.CustomObject> - metadata som definieras i denna nod.
### getName() {#getName--}

public String getName()



Hämtar namnet.

**Returns:**
java.lang.String - namnet.
### getParentNode() {#getParentNode--}

public Node getParentNode()



Hämtar föräldranoden.

**Returns:**
[Node](../../com.aspose.threed/node) - the parent node.
### getProperties() {#getProperties--}

public PropertyCollection getProperties()



Hämtar samlingen av alla egenskaper.

**Returns:**
[PropertyCollection](../../com.aspose.threed/propertycollection) - the collection of all properties.
### getProperty(String property) {#getProperty-java.lang.String-}

public Object getProperty(String property)



Hämta värdet för angiven egenskap

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| egenskap | java.lang.String | Egenskapsnamn |

**Returns:**
java.lang.Object - Värdet på den hittade egenskapen
### getScene() {#getScene--}

public Scene getScene()



Hämtar scenen som detta objekt tillhör

**Returns:**
[Scene](../../com.aspose.threed/scene) - the scene that this object belongs to
### getTransform() {#getTransform--}

public Transform getTransform()



Hämtar den lokala transformen.

**Returns:**
[Transform](../../com.aspose.threed/transform) - the local transform. **Example:** The following code shows how to change the transform of the node:

Scene scene = new Scene(); var boxNode = scene.getRootNode().createChildNode(new Box()); //place the box at (10, 0, 0) boxNode.getTransform().setTranslation(new Vector3(10, 0, 0));

### getVisible() {#getVisible--}

public boolean getVisible()



Hämtar för att visa noden

**Returns:**
boolean - för att visa noden **Exempel:** Följande kod visar hur man skapar en osynlig nod

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(“test-node”, new Box()); node.setVisible(false); scene.save(“output.fbx”);

### hashCode() {#hashCode--}

public native int hashCode()





**Returns:**
int
### merge(Node node) {#merge-com.aspose.threed.Node-}

public void merge(Node node)



Koppla loss allt under noden och fäst dem på den aktuella noden. **Exempel:** Följande kod visar hur man slår ihop två 3D-filer till en fil

Scene scene1 = Scene.fromFile(“scene1.fbx”); Scene scene2 = Scene.fromFile(“scene2.fbx”); scene1.getRootNode().merge(scene2.getRootNode()); scene1.save(“merged.fbx”);


**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| node | [Node](../../com.aspose.threed/node) |  |

### notify() {#notify--}

public final native void notify()





### notifyAll() {#notifyAll--}

public final native void notifyAll()





### removeProperty(Property property) {#removeProperty-com.aspose.threed.Property-}

public boolean removeProperty(Property property)



Tar bort en dynamisk egenskap.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| property | [Property](../../com.aspose.threed/property) | Vilken egenskap som ska tas bort |

**Returns:**
boolean - true om egenskapen har tagits bort framgångsrikt
### removeProperty(String property) {#removeProperty-java.lang.String-}

public boolean removeProperty(String property)



Ta bort den angivna egenskapen identifierad med namn

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| egenskap | java.lang.String | Vilken egenskap som ska tas bort |

**Returns:**
boolean - true om egenskapen har tagits bort framgångsrikt
### selectObjects(String path) {#selectObjects-java.lang.String-}

public ArrayList selectObjects(String path)



Välj flera objekt under den aktuella noden med XPath-liknande frågesyntax.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| sökväg | java.lang.String | XPath-liknande frågan |

**Returns:**
java.util.ArrayList<java.lang.Object> - Flera objekt matchar XPath-liknande frågan.
### selectSingleObject(String path) {#selectSingleObject-java.lang.String-}

public Object selectSingleObject(String path)



Välj ett enskilt objekt under den aktuella noden med XPath-liknande frågesyntax.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| sökväg | java.lang.String | XPath-liknande frågan |

**Returns:**
java.lang.Object - Objekt som hittades av XPath-liknande frågan.
### setAssetInfo(AssetInfo value) {#setAssetInfo-com.aspose.threed.AssetInfo-}

public void setAssetInfo(AssetInfo value)



Tillgångsinformation per nod

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| value | [AssetInfo](../../com.aspose.threed/assetinfo) | Nytt värde |

### setEntity(Entity value) {#setEntity-com.aspose.threed.Entity-}

public void setEntity(Entity value)



Sätter den första entiteten som är bifogad till denna nod, om den sätts rensas andra entiteter.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | value | [Entity](../../com.aspose.threed/entity) | Nytt värde **Example:** Följande kod visar hur man skapar en ny barnnod under rotknuten |

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(“new node”); node.setEntity(new Box()); scene.save(“output.fbx”);


### setExcluded(boolean value) {#setExcluded-boolean-}

public void setExcluded(boolean value)



Sätter om denna nod och alla barnnoder/entiteter ska exkluderas vid export.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | värde | boolean | Nytt värde **Example:** Följande kod visar hur man exkluderar en specificerad nod från export |

Scene scene = new Scene(); scene.getRootNode().createChildNode(“excluded”, new Box()).setExcluded(true); scene.getRootNode().createChildNode(“not excluded”, new Box()); scene.save(“output.usdz”);


### setMaterial(Material value) {#setMaterial-com.aspose.threed.Material-}

public void setMaterial(Material value)



Ställer in det första materialet som är associerat med denna nod; om det ställs in, rensas andra material.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | value | [Material](../../com.aspose.threed/material) | Nytt värde **Exempel:** |

Scene scene = new Scene(); var node = scene.getRootNode().createChildNode(new Box()); node.setMaterial(new LambertMaterial());


### setName(String value) {#setName-java.lang.String-}

public void setName(String value)



Ställer in namnet.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| värde | java.lang.String | Nytt värde |

### setParentNode(Node value) {#setParentNode-com.aspose.threed.Node-}

public void setParentNode(Node value)



Ställer in föräldranoden.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| value | [Node](../../com.aspose.threed/node) | Nytt värde |

### setProperty(String property, Object value) {#setProperty-java.lang.String-java.lang.Object-}

public void setProperty(String property, Object value)



Ställer in värdet för angiven egenskap

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| egenskap | java.lang.String | Egenskapsnamn |
| värde | java.lang.Object | Värdet på egenskapen |

### setVisible(boolean value) {#setVisible-boolean-}

public void setVisible(boolean value)



Ställer in att visa noden.

**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
|  | värde | boolean | Nytt värde **Example:** Följande kod visar hur man skapar en osynlig nod |

Scene scene = new Scene(); Node node = scene.getRootNode().createChildNode(“test-node”, new Box()); node.setVisible(false); scene.save(“output.fbx”);


### toString() {#toString--}

public String toString()



Hämtar nodens strängrepresentation.

**Returns:**
java.lang.String - Strängrepresentationen av denna nod för felsökning.
### wait() {#wait--}

public final void wait()





### wait(long arg0) {#wait-long-}

public final void wait(long arg0)





**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| arg0 | long |  |

### wait(long arg0, int arg1) {#wait-long-int-}

public final void wait(long arg0, int arg1)





**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |