120 vertices (every 3 degrees), cone angle a b / sqrt(b^2 cos^2 + a^2 sin^2) (OpenFrames' createEllipticCone).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(EllipticCone), | intent(inout) | :: | self |
subroutine elliptic_vertices(self) type(EllipticCone), intent(inout) :: self integer, parameter :: n = 120 integer :: i real(wp) :: t if (allocated(self%clock)) deallocate(self%clock, self%cone) allocate(self%clock(n), self%cone(n)) do i = 1, n t = 2.0_wp * pi * (i - 1) / n self%clock(i) = t self%cone(i) = self%a * self%b / sqrt(self%b**2 * cos(t)**2 + self%a**2 * sin(t)**2) end do end subroutine elliptic_vertices