Показать сообщение отдельно
Старый 21.02.2014, 15:29   #4
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Проверка нахождения объекта внутри другого

Для AABB
Function IsPointInsideAABB%( point, box )
    ; point - объект
    ; box - проверяемый объем
    Local px#=EntityX#( point, true )
    Local  py#=EntityY#( point, true )
    Local  pz#=EntityZ#( point, true )

    Local  bx#=EntityX#( box, true )
    Local  by#=EntityY#( box, true )
    Local  bz#=EntityZ#( box, true )

    Local  hw#=MeshWidth#(box)
    Local  hh#=MeshHeight#(box)
    Local  hd#=MeshDepth#(box)

    If px > ( bx + hw ) or px < x Then
      Return 0
    End If
    If py > ( by + hh ) or py < y Then
      Return 0
    End If
    If pz > ( bz + hd ) or pz < z Then
      Return 0
    End If

    Return 1

End Function
Синтаксис блица не помню, но вроде правильно
__________________

(Offline)
 
Ответить с цитированием