phystricks
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
phystricks.src.AngleGraph.AngleGraph Class Reference
Inheritance diagram for phystricks.src.AngleGraph.AngleGraph:
Inheritance graph
[legend]
Collaboration diagram for phystricks.src.AngleGraph.AngleGraph:
Collaboration graph
[legend]

Public Member Functions

def __init__ (self, A, O, B, r=None)
 
def visual_angleIF (self, pspict)
 
def circle (self, visual=False, pspict=None)
 
def measure (self)
 
def graph (self)
 
def set_mark_angle (self, theta)
 
def advised_mark_angle (self, pspict)
 
def bisector (self, pspict)
 
def put_arrow (self, pspict=None)
 
def mark_point (self, pspict=None)
 
def get_mark (self, dist=None, angle=None, text=None, mark_point=None, added_angle=None, position=None, pspict=None, visual_work=True)
 The mark on an angle is determined in the following way. More...
 
def action_on_pspict (self, pspict)
 
- Public Member Functions inherited from phystricks.src.ObjectGraph.ObjectGraph
def __init__ (self, obj)
 
def draw_edges (self)
 
def wave (self, dx, dy)
 
def get_arrow (self, llam)
 
def get_mark (self, dist, angle=None, text=None, mark_point=None, added_angle=None, position=None, pspict=None)
 
def put_mark (self, dist=None, angle=None, text="", mark_point=None, added_angle=None, position=None, pspict=None, pspicts=None)
 put a mark on an object More...
 
def add_option (self, opt)
 
def get_option (opt)
 
def remove_option (opt)
 
def merge_options (self, graph)
 
def conclude_params (self)
 
def params (self, language, refute=[])
 
def bracketAttributesText (self, language, refute=[])
 
def action_on_pspict (self, pspict)
 
def conclude (self, pspict)
 
def bounding_box (self, pspict=None)
 
def math_bounding_box (self, pspict)
 
def latex_code (self, pspict, language=None)
 

Public Attributes

 A
 
 O
 
 B
 
 r
 
 angleA
 
 angleB
 
 angleI
 
 angleF
 
- Public Attributes inherited from phystricks.src.ObjectGraph.ObjectGraph
 obj
 
 parameters
 
 wavy
 
 waviness
 
 options
 
 draw_bounding_box
 
 already_computed_BB
 
 already_computed_math_BB
 
 record_add_to_bb
 
 separator_name
 
 in_math_bounding_box
 
 in_bounding_box
 
 added_objects
 
 take_BB
 
 take_math_BB
 
 mark
 
 marque
 

Private Member Functions

def _math_bounding_box (self, pspict=None)
 
def _bounding_box (self, pspict=None)
 
def _getOCvector (self, dimx, dimy, pspict=None)
 

Private Attributes

 _mark_angle
 

Detailed Description

self.mark_angle is the angle at which self.mark_point will be placed. By default it is at the middle. 
    If you want to change it, use
    self.set_mark_angle(x).
    It will set both the mark_angle and the advised_mark_angle to to x in the same time.

    We have to make a choice between the two angles that can be deduced from 3 points. Here the choice is
    the angle from the first given point to the second one.

Constructor & Destructor Documentation

def phystricks.src.AngleGraph.AngleGraph.__init__ (   self,
  A,
  O,
  B,
  r = None 
)

Member Function Documentation

def phystricks.src.AngleGraph.AngleGraph._bounding_box (   self,
  pspict = None 
)
private
def phystricks.src.AngleGraph.AngleGraph._getOCvector (   self,
  dimx,
  dimy,
  pspict = None 
)
private
Return a vector 
O -> central point of the box
such that the box of size (dimx,dimy) will not intersect the lines
of the angle self.

  In fact we use this vector to translate from the mark_point 
  (not the center of the angle).
  Thus we are sure that the mark will in the same time
  - not intersect the lines
  - be further than the code.
def phystricks.src.AngleGraph.AngleGraph._math_bounding_box (   self,
  pspict = None 
)
private
def phystricks.src.AngleGraph.AngleGraph.action_on_pspict (   self,
  pspict 
)
def phystricks.src.AngleGraph.AngleGraph.advised_mark_angle (   self,
  pspict 
)
def phystricks.src.AngleGraph.AngleGraph.bisector (   self,
  pspict 
)
def phystricks.src.AngleGraph.AngleGraph.circle (   self,
  visual = False,
  pspict = None 
)
def phystricks.src.AngleGraph.AngleGraph.get_mark (   self,
  dist = None,
  angle = None,
  text = None,
  mark_point = None,
  added_angle = None,
  position = None,
  pspict = None,
  visual_work = True 
)

The mark on an angle is determined in the following way.

A vector 'v' is computed in such a way that placing the center of the mark at self.O+v makes the mark being just in the angle

Then the center of the mark is placed at self.mark_point+v

Thus the mark should be ok.

If you give the optional argument "dist", the vector 'v' is replaced by v.fix_size(dist) In this case you have to fix a correct value of 'dist' by hand.

Parameters
visual_workif True, we first make all the computation on the angle as it will be drawn (xunit,yunit) and the bring the result back. If false, we make as there are no dilatations issues. The point
def phystricks.src.AngleGraph.AngleGraph.graph (   self)
def phystricks.src.AngleGraph.AngleGraph.mark_point (   self,
  pspict = None 
)
def phystricks.src.AngleGraph.AngleGraph.measure (   self)
def phystricks.src.AngleGraph.AngleGraph.put_arrow (   self,
  pspict = None 
)
Add a small arrow at the end of the angle,
so one can visualize the sense of the angle ('from A to B')
def phystricks.src.AngleGraph.AngleGraph.set_mark_angle (   self,
  theta 
)
theta is degree or AngleMeasure
def phystricks.src.AngleGraph.AngleGraph.visual_angleIF (   self,
  pspict 
)

Member Data Documentation

phystricks.src.AngleGraph.AngleGraph._mark_angle
private
phystricks.src.AngleGraph.AngleGraph.A
phystricks.src.AngleGraph.AngleGraph.angleA
phystricks.src.AngleGraph.AngleGraph.angleB
phystricks.src.AngleGraph.AngleGraph.angleF
phystricks.src.AngleGraph.AngleGraph.angleI
phystricks.src.AngleGraph.AngleGraph.B
phystricks.src.AngleGraph.AngleGraph.O
phystricks.src.AngleGraph.AngleGraph.r

The documentation for this class was generated from the following file: