' Ein neues Objekt wurde vom Benutzer in die Welt eingefⁿgt - auch dafⁿr
' Events anmelden
Private Sub theExe_Object3DInserted(ByVal obj As ArCon.Object3D, ByVal SnapWallSeg As ArCon.WallSegment, ByVal SnapObj As ArCon.Object3D, Position As Variant, PositionChanged As Boolean)
Dim s As String
s = "Neues Objekt eingefⁿgt: '" & obj.Name & "'"
Ausgabe.AddItem s
Debug.Print s
theExe.SetObject3DEventMask obj, ACO3D_EVENT_DBLCLK Or ACO3D_EVENT_MOVED Or ACO3D_EVENT_TEXTURE_DROPPED Or ACO3D_EVENT_MATERIAL_DROPPED
AC_SNAP_A_ISQUAD Or AC_SNAP_A_ISTWOSIDED Or AC_SNAP_A_SNAP_E0 Or AC_SNAP_A_SNAP_E1 Or AC_SNAP_A_SNAP_E2 Or AC_SNAP_A_SNAP_E3, _
&HFFFFFFFF, &HFFFFFFFF, 0
End With
End Sub
' Grad in Bogenma▀ konvertieren
Private Function Deg2Rad(deg As Single) As Single
Deg2Rad = deg / 180 * 3.1415926
End Function
' Ein Objekt wurde doppeltgeklickt
Private Sub theExe_WorldObject3DDoubleClicked(ByVal selObj As ArCon.Object3D, ByVal clickedObj As ArCon.Object3D, ByVal objectPartID As Long, Modified As Boolean)
Dim s As String
s = "Das Objekt '" & clickedObj.Name & "' wurd doppeltgeklickt, selektiert ist '" & selObj.Name & "'"
Debug.Print s
Ausgabe.AddItem s
End Sub
' Ein Material wurde gedropped
Private Sub theExe_WorldObject3DMaterialDropped(ByVal obj As ArCon.Object3D, ByVal evnt As Long, ByVal hitX As Single, ByVal hitY As Single, ByVal hitZ As Single, ByVal pickedMat As ArCon.Material, ByVal objectPartID As Long, ByVal oldMat As ArCon.Material, ByVal newMat As ArCon.Material, mayDrop As Boolean)
Dim s As String
If (evnt And AC_DRAG_N_DROP_DROP) = 0 Then Exit Sub ' ist nur Drag-Over, noch kein Drop
s = "Beim Objekt '" & obj.Name & "' wurde im Objektteil " & objectPartID & " das Material ausgetauscht"
Ausgabe.AddItem s
Debug.Print s
End Sub
' Ein Objekt wurde bewegt - Anzeigen und Matrix in der Debug-Ausgabe ausgeben
Private Sub theExe_WorldObject3DMoved(ByVal obj As ArCon.Object3D, ByVal snappingWallSeg As ArCon.WallSegment, ByVal snappingObject As ArCon.Object3D, ByVal MC_WC As Variant)
Private Sub theExe_WorldObject3DTextureDropped(ByVal obj As ArCon.Object3D, ByVal evnt As Long, ByVal hitX As Single, ByVal hitY As Single, ByVal hitZ As Single, ByVal pickedMat As ArCon.Material, ByVal objectPartID As Long, ByVal oldTexName As String, ByVal newTexName As String, mayDrop As Boolean)
Dim s As String
If (evnt And AC_DRAG_N_DROP_DROP) = 0 Then Exit Sub ' ist nur Drag-Over, noch kein Drop
s = "Beim Objekt '" & obj.Name & "' wurd im Objektteil " & objectPartID & " die Textur '" & oldTexName & "' durch '" & newTexName & "' ersetzt"