Skip to content

Commit 1d33706

Browse files
committed
solid(..., contactSphereRadius::Union{Nothing,FloatType}=xxx) improved:
- changed to contactSphereRadius::Uniion{Nothing,Number} (e.g. Int is also allowed). - contactSphereRadius <= 0 is the same as contactSphereRadius = nothing.
1 parent 6b6285d commit 1d33706

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/Shapes/solid.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ struct Solid{F <: Modia3D.VarFloatType} <: Modia3D.AbstractObject3DFeature
8888
collisionSmoothingRadius=F(0.001),
8989
visualMaterial::Union{Shapes.VisualMaterial,AbstractString,Nothing} = Shapes.VisualMaterial(),
9090
visualMaterialConvexDecomposition::Union{Shapes.VisualMaterial,AbstractString,Nothing} = Shapes.VisualMaterial(),
91-
contactSphereRadius::Union{Nothing, F} = nothing) where F <: Modia3D.VarFloatType
91+
contactSphereRadius::Union{Nothing, Number} = nothing) where F <: Modia3D.VarFloatType
9292

9393
if collision && isnothing(shape)
9494
error("For collision/gripping simulations, a shape must be defined.")
@@ -119,6 +119,7 @@ struct Solid{F <: Modia3D.VarFloatType} <: Modia3D.AbstractObject3DFeature
119119
end
120120

121121
massProperties = createMassProperties(F, massProperties, shape, solidMaterial)
122+
contactSphereRadius::Union{Nothing,F} = isnothing(contactSphereRadius) || F(contactSphereRadius) <= F(0) ? nothing : F(contactSphereRadius)
122123
(isFlat, contactSphereRadius) = setContactSphereRadius(shape, contactSphereRadius, F)
123124
new(shape, solidMaterial, massProperties, collision, contactMaterial, setCollisionSmoothingRadius(shape, F(collisionSmoothingRadius)), visualMaterial, isFlat, contactSphereRadius)
124125
end

0 commit comments

Comments
 (0)