Package pymunk :: Class Segment
[frames] | no frames]

Class Segment

object --+    
         |    
     Shape --+
             |
            Segment

A line segment shape between two points

This shape can be attached to moving bodies, but don't currently generate collisions with other line segments. Can be beveled in order to give it a thickness.

Instance Methods
 
__init__(self, body, a, b, radius)
Create a Segment
 
__del__(self) (Inherited from pymunk.Shape)
 
cache_bb(self)
Update and returns the bouding box of this shape (Inherited from pymunk.Shape)
 
point_query(self, p)
Check if the given point lies within the shape. (Inherited from pymunk.Shape)
 
segment_query(self, start, end)
Check if the line segment from start to end intersects the shape. (Inherited from pymunk.Shape)

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties
  a
The first of the two endpoints for this segment
  b
The second of the two endpoints for this segment
  radius
The thickness of the segment
  body
The body this shape is attached to (Inherited from pymunk.Shape)
  collision_type
User defined collision type for the shape. See add_collisionpair_func function for more information on when to use this property (Inherited from pymunk.Shape)
  elasticity
Elasticity of the shape. A value of 0.0 gives no bounce, while a value of 1.0 will give a 'perfect' bounce. However due to inaccuracies in the simulation using 1.0 or greater is not recommended. (Inherited from pymunk.Shape)
  friction
Friction coefficient. pymunk uses the Coulomb friction model, a value of 0.0 is frictionless. (Inherited from pymunk.Shape)
  group
Shapes in the same non-zero group do not generate collisions. Useful when creating an object out of many shapes that you don't want to self collide. Defaults to 0 (Inherited from pymunk.Shape)
  layers
Shapes only collide if they are in the same bit-planes. i.e. (a.layers & b.layers) != 0. By default, a shape occupies all 32 bit-planes, i.e. layers == -1 (Inherited from pymunk.Shape)
  sensor
A boolean value if this shape is a sensor or not. Sensors only call collision callbacks, and never generate real collisions. (Inherited from pymunk.Shape)
  surface_velocity
The surface velocity of the object. Useful for creating conveyor belts or players that move around. This value is only used when calculating friction, not resolving the collision. (Inherited from pymunk.Shape)

Inherited from object: __class__

Method Details

__init__(self, body, a, b, radius)
(Constructor)

 
Create a Segment
Parameters:
  • body (Body) - The body to attach the segment to
  • a ((x,y) or Vec2d) - The first endpoint of the segment
  • b ((x,y) or Vec2d) - The second endpoint of the segment
  • radius (float) - The thickness of the segment
Overrides: object.__init__

Property Details

a

The first of the two endpoints for this segment
Get Method:
_get_a(self)
Set Method:
_set_a(self, a)

b

The second of the two endpoints for this segment
Get Method:
_get_b(self)
Set Method:
_set_b(self, b)

radius

The thickness of the segment
Get Method:
_get_radius(self)
Set Method:
_set_radius(self, r)