Připnutí a úchyty
Upevněte body látky v prostoru nebo k pohyblivému fyzikálnímu tělesu.
Upevněte body látky v prostoru nebo k pohyblivému fyzikálnímu tělesu.
cloth.pin_edge("top");
cloth.unpin_edge("top");
cloth.pin_corner("top_left");
cloth.pin_point(0, 0);
var pinned = cloth.is_point_pinned(0, 0);
cloth.unpin_point(0, 0);
// Moving rigid-body anchor:
cloth.attach_edge("top", support_body);
cloth.detach_edge("top");Připnutá částice má nulovou inverzní hmotnost a zůstává na aktuálním místě ve světě. Připnutí ji nevrací do původního tvaru. Hrany: top, bottom, left, right; rohy: top_left, top_right, bottom_left, bottom_right. Horní hrana je y=0.
Pro úchyt na tělese použijte attach_point/attach_edge nebo prostorovou skupinu create_attachment(). Statické a kinematické podpory určují pohyb úchytu; dynamické používají poddajné obousměrné propojení. Pravidla vlastnictví brání konfliktním připnutím. Importovaná BBMOD látka podporuje i create_attachment_from_node(name, radius).
Nové související postupy#
Ověřené kontrakty operací#
Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.
| Symbol / vlastník | Signatura | Kontrakt operace |
|---|---|---|
| JoltBBMODCloth.is_point_pinned | JoltBBMODCloth.is_point_pinned(x,y) | Boolean pro celočíselný bod mřížky včetně krajů; false i při neplatném bodu/wrapperu. Attached a pinned nejsou zaměnitelné dotazy: pohyblivý host oproti fixaci částice. |
| JoltBBMODCloth.pin_corner | JoltBBMODCloth.pin_corner(name) | pin_corner: názvy top_left, top_right, bottom_left, bottom_right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa. |
| JoltBBMODCloth.pin_edge | JoltBBMODCloth.pin_edge(name) | pin_edge: názvy top, bottom, left, right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa. |
| JoltBBMODCloth.pin_point | JoltBBMODCloth.pin_point(x,y) | Připne bod ke světu. Celočíselná mřížka x=0..segments_x, y=0..segments_y včetně krajů. Boolean; není to světová pozice. |
| JoltBBMODCloth.unpin_corner | JoltBBMODCloth.unpin_corner(name) | unpin_corner: názvy top_left, top_right, bottom_left, bottom_right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa. |
| JoltBBMODCloth.unpin_edge | JoltBBMODCloth.unpin_edge(name) | unpin_edge: názvy top, bottom, left, right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa. |
| JoltBBMODCloth.unpin_point | JoltBBMODCloth.unpin_point(x,y) | Uvolní bod. Celočíselná mřížka x=0..segments_x, y=0..segments_y včetně krajů. Boolean; není to světová pozice. |