拼接
- 类型:SplitJoint
描述
拼接是一个将两个物体固定在相对位置的约束,两个物体保持相对位置和相对朝向;因此当一个零件移动时,另一个零件也将同时移动并且移动的量也相同。所有有拼接关系的对象,都算作一个拼接。
- 拼接的特性:
- 他们共享一个刚体,在设置主权时只需要设置其中的一个就可以。
- 两个零件没有接触时,也能使用拼接约束将其连接在一起。
- 拼接成为车辆时,轮胎会根据共享的刚体寻找朝向,只能同通过组合单位的MoveTo来去移动刚体。
- 所有被拼接在一起的零件共享一个刚体,因此为其中的一个零件施加力时,这个力会作用于整个个刚体。
- 被拼接的所有零件共享一个刚体,因此他们只有一个质心,他们的质心是这个共享的刚体的质心。
- 当拼接零件中的其中一个零件被移动时,不会影响其他被拼接零件的位置。
属性
ConnectedTarget 连接目标 SubjectProperty
连接的目标零件
继承自RWObject:
Name 名称 string
该对象的自定义名称
ClassName 类型 string
该对象对应的对象类型名称
Parent 父级 RWObject
该对象的父级对象
函数
继承自RWObject:
DelAllChild()
删除所有子对象
Available()
检查对象是否可用
Clone(parent)
复制自身,若有参数则以参数为父级
Destroy()
删除自身
GetAncestorByName(Name)
通过对象名字寻找父级对象
GetAncestorByClassName(className)
通过对象类型寻找父级对象
GetChildByName(Name,recursive)
通过对象名字寻找子级对象
GetChildByClassName(className,recursive)
通过对象类型寻找子级对象
GetAllChild()
寻找自身所有子级对象,并作为一个列表返回
GetAllDescendant()
递归寻找自身所有后代,并作为一个列表返回
IsAncestor(TarObj)
判断自身是否为目标对象的祖先
IsDescendant(TarObj)
判断自身是否为目标对象的后代
WaitForChild(childName,timeout)
寻找自身的子对象。如果没有子对象,在没有填写timeout参数时,会暂停进程直到找到子对象;如果填写了timeout参数,会根据参数时间暂停进程,超出参数时间后,进程照常进行
Child(childName)
根据给定的名字寻找自身的子对象
Equals(TarObj)
判断自身是否为目标对象,结果为真返回True,结果为假返回False;注意克隆、新建同类型、同名对象,equal结果均为假
IsClass(className)
判断自身是否为给定的对象类型
事件
继承自RWObject:
Destroyed()
删除自身时触发
ChildAdded(childobject)
添加子对象时触发
ChildRemoved(childobject)
移除子对象时触发
DescendantAdded(descendantobject)
添加后代时触发
DescendantRemoved(descendantobject)
移除后代时触发
AncestryChanged(AncestryChanged)
祖先变更时触发