- Global NmbRawObjet As Integer
-
- Private Type VerticeV
- X As Single
- Y As Single
- Z As Single
- End Type
-
- Private Type FaceV
- Vertice(3) As VerticeV
- End Type
-
- Private Type RAWObjetV
- NmbFace As Integer
- Face() As FaceV
- Nom As String
- Ochar As Integer
- End Type
-
- Public RAWObjet() As RAWObjetV
-
- Private Sub GetObjet()
- On Error Resume Next
-
- n = Split(F, vbCrLf & vbNewLine)
-
- NmbRawObjet = UBound(n) + 1
- ReDim Preserve RAWObjet(NmbRawObjet)
-
- For I = 0 To UBound(n)
- T = 1: Q = 0
- If I = 0 Then T = 3: Q = 3
- J = InStr(T, F, n(I))
- K = InStr(2, n(I), vbCrLf)
- RAWObjet(I + 1).Nom = Mid(n(I), T, K - T)
- RAWObjet(I + 1).Ochar = J + Q
- Next
-
- End Sub
-
- Private Sub GetVertex()
- T = 4
- For I = 1 To NmbRawObjet
- With RAWObjet(I)
- If NmbRawObjet <= 1 Or I = NmbRawObjet Then
- Fin = Len(F)
- Else
- Fin = RAWObjet(I + 1).Ochar + -.Ochar - Len(.Nom) - 2
- End If
- S = Mid(F, .Ochar + 2 + Len(.Nom), Fin)
- V = Split(S, vbCrLf)
- .NmbFace = UBound(V)
- For J = 0 To .NmbFace
- ReDim Preserve .Face(J)
- With .Face(J)
- U = Split(V(J), " ")
- n = 0
- For K = 0 To UBound(U)
- n = n + 1
- W = Split(U(K), " ")
- With .Vertice(n)
- .X = Val(W(0)) * T
- .Y = Val(W(1)) * T
- .Z = -Val(W(2)) * T
- End With
- Next
- End With
- Next
- End With
- Next
-
- End Sub
-
- Sub LoadRAW(Fichier As String)
-
- 'Loading "CHARGEMENT DE " & Fichier
- Open Fichier For Input As 1
- F = CStr(Input$(LOF(1), #1))
- Close
-
- 'Loading "OBJET"
- GetObjet
- 'Loading "VERTICES"
- GetVertex
- 'Loading "FIN", False
-
- End Sub
Global NmbRawObjet As Integer
Private Type VerticeV
X As Single
Y As Single
Z As Single
End Type
Private Type FaceV
Vertice(3) As VerticeV
End Type
Private Type RAWObjetV
NmbFace As Integer
Face() As FaceV
Nom As String
Ochar As Integer
End Type
Public RAWObjet() As RAWObjetV
Private Sub GetObjet()
On Error Resume Next
n = Split(F, vbCrLf & vbNewLine)
NmbRawObjet = UBound(n) + 1
ReDim Preserve RAWObjet(NmbRawObjet)
For I = 0 To UBound(n)
T = 1: Q = 0
If I = 0 Then T = 3: Q = 3
J = InStr(T, F, n(I))
K = InStr(2, n(I), vbCrLf)
RAWObjet(I + 1).Nom = Mid(n(I), T, K - T)
RAWObjet(I + 1).Ochar = J + Q
Next
End Sub
Private Sub GetVertex()
T = 4
For I = 1 To NmbRawObjet
With RAWObjet(I)
If NmbRawObjet <= 1 Or I = NmbRawObjet Then
Fin = Len(F)
Else
Fin = RAWObjet(I + 1).Ochar + -.Ochar - Len(.Nom) - 2
End If
S = Mid(F, .Ochar + 2 + Len(.Nom), Fin)
V = Split(S, vbCrLf)
.NmbFace = UBound(V)
For J = 0 To .NmbFace
ReDim Preserve .Face(J)
With .Face(J)
U = Split(V(J), " ")
n = 0
For K = 0 To UBound(U)
n = n + 1
W = Split(U(K), " ")
With .Vertice(n)
.X = Val(W(0)) * T
.Y = Val(W(1)) * T
.Z = -Val(W(2)) * T
End With
Next
End With
Next
End With
Next
End Sub
Sub LoadRAW(Fichier As String)
'Loading "CHARGEMENT DE " & Fichier
Open Fichier For Input As 1
F = CStr(Input$(LOF(1), #1))
Close
'Loading "OBJET"
GetObjet
'Loading "VERTICES"
GetVertex
'Loading "FIN", False
End Sub