Worklog for Stickman

New Code

Return to Worklogs

Create Cylinder(Posted 2011-02-09)
//RB2010r5
;// Declare Variables
; Dim Xdegrees , Ydegrees , vertices , triangles as integer
; Dim v1,v2,v3,v4 as integer // v4 is an additive for keeping count
; Dim X# , Y# , X# , Ysegs , Xval as double
; Dim d , k , e , q as integer // For system use

mesh=CreateMesh()
surf=CreateSurface(mesh)
; // Xval= 360/Xsegments


;// Add Vertices____________________________________________________________________________________|VERTICES

;// Add Top Center Vertex first if Solid
If Solid=True Then
AddVertex ( surf , 0 , Scale , 0 )
End If


Ysegs#=(Scale/Ysegments)*2
y#=Scale

;// Add Outer Boundry Vertices
For Ydegrees# = 0 To Ysegments ;Step Ydeg

For Xdegrees#=0 To 361-Xval Step Xval
x#=Cos(Xdegrees) * Scale
z#=Sin(Xdegrees) * Scale
AddVertex ( surf,x,y,z )

ent(x,y,z) ;/////////////////////////////////////////////////////////////////////// ?? -KILL THIS- ??
Next

y#=Y#-Ysegs
Next

;// Add Bottom Center Vertex If Solid
If Solid=True Then
AddVertex ( surf , 0 , -Scale , 0 )
End If


Vertices=CountVertices( surf )


;// Add Triangles___________________________________________________________________________________|Triangles

If Solid=True Then ;// If Solid add Top & Bottom Triangles
;//Top Triangles
v1=0
For k=1 To Xsegments

v2=k
v3=k+1
If k>= Xsegments Then V3=1 ;// Return back to first Vertex

AddTriangle (surf,v3,v2,v1)

Next

;// Bottom Triangles
v1=Vertices-1
For k=(Vertices-1)-Xsegments To Vertices-2 ;// 8-3

v2=k
v3=k+1
If k>= Vertices-2 Then V3=(Vertices-Xsegments)-1 ;// Return back to first Vertex

AddTriangle (surf,v1,v2,v3)
Next

End If


;// Triangulate Sides

e=0
If solid=False Then e=1

;//By Quad
For k=solid To (Xsegments * Ysegments) - e

q=q+1

v1=k
v2=k+1
v3=k+Xsegments+1
v4=v3-1
If q>=Xsegments Then
v2=k-(Xsegments-1)
v3=k+1
v4=k+Xsegments
q=0
End If

AddTriangle( surf,v1,v2,v3 )

v2=v3
v3=v4
AddTriangle( surf,v1,v2,v3 )


Next


; // End of Code

Return mesh


End Function