Node — Aspose.3D FOSS for Java

Node klasa predstavlja imenovani element u Aspose.3D grafu scene. Svaki čvor može da drži jedan Entity (kao što je a Mesh ili Camera), održava odnose roditelj‑dete sa drugim čvorovima i nosi lokalnu transformaciju. Čvorovi su primarni način organizovanja 3D objekata u hijerarhiji scene.

import com.aspose.threed.Scene;
import com.aspose.threed.Node;

Scene scene = new Scene();

// Access the root node via getter
Node root = scene.getRootNode();

// Create a child node
Node child = root.createChildNode("my_node");

// Iterate child nodes via getter
for (Node node : root.getChildNodes()) {
    System.out.println(node.getName());
}

Node konstruktor inicijalizuje čvor sa opcionim imenom.

nameStringOpcionalno ime za čvor

Sva svojstva čvora se pristupaju putem getter/setter metoda.

nameStringgetName()setName(String)Ljudski čitljiv identifikator za čvor
entityEntitygetEntity()setEntity(Entity)Primarna entitet povezan sa ovim čvorom (npr., Mesh, Camera). Prečica za prvi element od getEntities().
entitiesList<Entity>getEntities()Svi entiteti prikačeni na ovaj čvor (samo za čitanje)
materialMaterialgetMaterial()setMaterial(Material)Primarni materijal dodeljen ovom čvoru
materialsList<Material>getMaterials()Svi materijali dodeljeni ovom čvoru (samo za čitanje)
childNodesList<Node>getChildNodes()Lista podčvorova
parentNodeNodegetParentNode()setParentNode(Node)Direktni roditeljski čvor u hijerarhiji scene (getParentNodes() nije dostupno na Node)
visiblebooleangetVisible()setVisible(boolean)
false, čvor i njegova podstabla su skriveni
excludedbooleangetExcluded()setExcluded(boolean)
true, ovaj čvor je isključen iz renderovanja
transformTransformgetTransform()Lokalna transformacija (translacija, rotacija, skala)
globalTransformGlobalTransformgetGlobalTransform()Matrica transformacije u svetskom prostoru
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Metapodaci sredstva prikačeni ovom čvoru, ako ih ima
propertiesPropertyCollectiongetProperties()Prilagođena svojstva prikačena ovom čvoru

Tip povratne vrednosti
createChildNode(String name)NodeKreira i prikači novi podčvor sa zadatim imenom
createChildNode(String name, Entity entity)NodeKreira podčvor i dodeljuje mu entitet
addChildNode(Node node)voidDodaje postojeći čvor kao dete ovom čvoru
getChild(String name)NodePronalaže direktno dete čvor po imenu
addEntity(Entity entity)voidPrikačinje dodatni entitet ovom čvoru
merge(Node node)voidSpaja decu i entitete drugog čvora u ovaj čvor
evaluateGlobalTransform(boolean withGeometricTransform)Matrix4Vraća matricu transformacije u svetskom prostoru; prosledi true da uključi geometrijske pomake
getBoundingBox()BoundingBoxStub u ovom izdanju — uvek vraća sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Nije izvršena geometrijska računica.
getProperty(String name)ObjectDohvata vrednost svojstva po imenu
findProperty(String name)PropertyPronalaže svojstvo po imenu

Kreirajte scenu, prikačite mesh na čvor i pređite graf scene:

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.*;


Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);

// Attach mesh to a child node
Node node = scene.getRootNode().createChildNode("triangle", mesh);

// Traverse child nodes using getter
for (Node child : scene.getRootNode().getChildNodes()) {
    Entity entity = child.getEntity();
    if (entity != null) {
        System.out.println("Node '" + child.getName() + "': " + entity.getClass().getSimpleName());
        System.out.println("  Excluded: " + child.getExcluded());
    }
}

Vidi takođe

 Српски