Node — Aspose.3D FOSS for Java
Methods
Methods Node klase pārstāv nosauktu elementu Aspose.3D skatu grafā. Katrs mezgls var saturēt vienu Entity (piemēram, Mesh vai Camera), uztur vecāku-bērna attiecības ar citiem mezgliem, un nes lokālu transformāciju. Mezgli ir galvenais veids, kā organizēt 3D objektus skatu hierarhijā.
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());
}Methods
Methods Node konstruktors inicializē mezglu ar neobligātu nosaukumu.
| Methods | Methods | Methods |
|---|---|---|
name | String | Neobligāts mezgla nosaukums |
Methods
Visas mezgla atribūti tiek piekļūti, izmantojot getter/setter metodes.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Cilvēkam saprotams identifikators mezglam |
entity | Entity | getEntity() | setEntity(Entity) | Primārā vienība, kas pievienota šim mezglam (piemēram,., Mesh, Camera). Īsceļš uz pirmo elementu no getEntities(). |
entities | List<Entity> | getEntities() | – | Visas vienības, kas pievienotas šim mezglam (tikai lasāms) |
material | Material | getMaterial() | setMaterial(Material) | Primārais materiāls, kas piešķirts šim mezglam |
materials | List<Material> | getMaterials() | – | Visi materiāli, kas piešķirti šim mezglam (tikai lasāms) |
childNodes | List<Node> | getChildNodes() | – | Apakšmezglu saraksts |
parentNode | Node | getParentNode() | setParentNode(Node) | Tūlītējais vecāka mezgls ainas hierarhijā (getParentNodes() nav pieejams uz Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, mezgls un tā apakškoks ir paslēpts |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, šis mezgls ir izslēgts no renderēšanas |
transform | Transform | getTransform() | – | Lokālā transformācija (pārvietojums, rotācija, mērogs) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Pasaules telpas transformācijas matrica |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Resursu metadati, kas pievienoti šim mezglam, ja tādi ir |
properties | PropertyCollection | getProperties() | – | Pielāgotas īpašības, kas pievienotas šim mezglam |
Methods
| Methods | Atgriešanas tips | Methods |
|---|---|---|
createChildNode(String name) | Node | Izveido un pievieno jaunu bērna mezglu ar norādīto nosaukumu |
createChildNode(String name, Entity entity) | Node | Izveido bērna mezglu un piešķir tam vienību |
addChildNode(Node node) | void | Pievieno esošu mezglu kā šī mezgla bērnu |
getChild(String name) | Node | Atrast tiešu bērna mezglu pēc nosaukuma |
addEntity(Entity entity) | void | Pievieno papildu vienību šim mezglam |
merge(Node node) | void | Apvieno cita mezgla bērnus un vienības šajā mezglā |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Atgriež pasaules telpas transformācijas matricu; padod true lai iekļautu ģeometriskos nobīdes |
getBoundingBox() | BoundingBox | Stub šajā izdevumā — vienmēr atgriež sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Ģeometrijas aprēķins netiek veikts. |
getProperty(String name) | Object | Iegūst īpašības vērtību pēc nosaukuma |
findProperty(String name) | Property | Atrod īpašību pēc nosaukuma |
Methods
Izveidojiet scēnu, pievienojiet Mesh mezglam un pārlūkojiet scēnas grafu:
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());
}
}