CollisionPolygon

class CollisionPolygon

Bases: CollisionPlane

Inheritance diagram

digraph inheritance8ef6060817 { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "CachedTypedWritableReferenceCount" [URL="acron.core.CachedTypedWritableReferenceCount.html#acron.core.CachedTypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritableReferenceCount" -> "CachedTypedWritableReferenceCount" [arrowsize=0.75,style=""]; "CollisionPlane" [URL="acron.core.CollisionPlane.html#acron.core.CollisionPlane",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CollisionSolid" -> "CollisionPlane" [arrowsize=0.75,style=""]; "CollisionPolygon" [URL="acron.core.CollisionPolygon.html#acron.core.CollisionPolygon",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CollisionPlane" -> "CollisionPolygon" [arrowsize=0.75,style=""]; "CollisionSolid" [URL="acron.core.CollisionSolid.html#acron.core.CollisionSolid",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CopyOnWriteObject" -> "CollisionSolid" [arrowsize=0.75,style=""]; "CopyOnWriteObject" [URL="acron.core.CopyOnWriteObject.html#acron.core.CopyOnWriteObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CachedTypedWritableReferenceCount" -> "CopyOnWriteObject" [arrowsize=0.75,style=""]; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "ReferenceCount" [URL="acron.core.ReferenceCount.html#acron.core.ReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ReferenceCount" [arrowsize=0.75,style=""]; "TypedObject" [URL="acron.core.TypedObject.html#acron.core.TypedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "TypedObject" [arrowsize=0.75,style=""]; "TypedWritable" [URL="acron.core.TypedWritable.html#acron.core.TypedWritable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedObject" -> "TypedWritable" [arrowsize=0.75,style=""]; "TypedWritableReferenceCount" [URL="acron.core.TypedWritableReferenceCount.html#acron.core.TypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritable" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; "ReferenceCount" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; }
CollisionPolygon.__init__()

Creates an invalid polygon. Only used when reading from a bam file.

static CollisionPolygon.get_class_type()
CollisionPolygon.get_num_points()

Returns the number of vertices of the CollisionPolygon.

CollisionPolygon.get_point()

Returns the nth vertex of the CollisionPolygon, expressed in 3-D space.

CollisionPolygon.is_concave()

Returns true if the CollisionPolygon appears to be concave, or false if it is safely convex.

CollisionPolygon.is_valid()

Returns true if the CollisionPolygon is valid (that is, it has at least three vertices), or false otherwise.

CollisionPolygon.setup_points()
static CollisionPolygon.verify_points()

Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.

Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.

Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.

This does not check that the polygon defined is convex; that check is made later, once we have projected the points to 2-d space where the decision is easier.