
 Usage

Places vertices on circles depending on the graph vertices
hierarchy level. The source graph could be
vtkDirectedAcyclicGraph or vtkDirectedGraph if
MarkedStartPoints array was added. The algorithm collects
the standalone points, too and take them to a separated
circle. If method is FixedRadiusMethod, the radius of the
circles will be equal. If method is FixedDistanceMethod, the
distance beetwen the points on circles will be equal.
In first step initial points are searched. A point is
initial, if its in degree equal zero and out degree is
greater than zero (or marked by MarkedStartVertices and out
degree is greater than zero). Independent vertices (in and
out degree equal zero) are collected separatelly. In second
step the hierarchical level is generated for every vertex.
In third step the hierarchical order is generated. If a
vertex has no hierarchical level and it is not independent,
the graph has loop so the algorithm exit with error message.
Finally the vertices positions are calculated by the
hierarchical order and by the vertices hierarchy levels.
.SECTION Thanks Ferenc Nasztanovics,
naszt.nosp@m.a@na.nosp@m.szta..nosp@m.hu, Budapest
University of Technology and Economics, Department of
Structural Mechanics
.SECTION References in 3D rotation was used: http://
en.citizendium.org/wiki/Rotation_matrix
To create an instance of class vtkSimple3DCirclesStrategy,
simply invoke its constructor as follows

    obj = vtkSimple3DCirclesStrategy



 Methods

The class vtkSimple3DCirclesStrategy has several methods
that can be used. They are listed below. Note that the
documentation is translated automatically from the VTK
sources, and may not be completely intelligible. When in
doubt, consult the VTK website. In the methods listed below,
obj is an instance of the vtkSimple3DCirclesStrategy class.

* string = obj.GetClassName ()
* int = obj.IsA (string name)
* vtkSimple3DCirclesStrategy = obj.NewInstance ()
* vtkSimple3DCirclesStrategy = obj.SafeDownCast (vtkObject
  o)
* obj.SetMethod (int ) - Set or get cicrle generating method
  (FixedRadiusMethod/FixedDistanceMethod). Default is
  FixedRadiusMethod.
* int = obj.GetMethod () - Set or get cicrle generating
  method (FixedRadiusMethod/FixedDistanceMethod). Default is
  FixedRadiusMethod.
* obj.SetRadius (double ) - If Method is FixedRadiusMethod:
  Set or get the radius of the circles. If Method is
  FixedDistanceMethod: Set or get the distance of the points
  in the circle.
* double = obj.GetRadius () - If Method is
  FixedRadiusMethod: Set or get the radius of the circles.
  If Method is FixedDistanceMethod: Set or get the distance
  of the points in the circle.
* obj.SetHeight (double ) - Set or get the vertical (local
  z) distance between the circles. If AutoHeight is on, this
  is the minimal height between the circle layers
* double = obj.GetHeight () - Set or get the vertical (local
  z) distance between the circles. If AutoHeight is on, this
  is the minimal height between the circle layers
* obj.SetOrign (double , double , double ) - Set or get the
  orign of the geometry. This is the center of the first
  circle. SetOrign(x,y,z)
* obj.SetOrign (double a[3]) - Set or get the orign of the
  geometry. This is the center of the first circle. SetOrign
  (x,y,z)
* double = obj. GetOrign () - Set or get the orign of the
  geometry. This is the center of the first circle. SetOrign
  (x,y,z)
* obj.SetDirection (double dx, double dy, double dz) - Set
  or get the normal vector of the circles plain. The height
  is growing in this direction. The direction must not be
  zero vector. The default vector is (0.0,0.0,1.0)
* obj.SetDirection (double d[3]) - Set or get the normal
  vector of the circles plain. The height is growing in this
  direction. The direction must not be zero vector. The
  default vector is (0.0,0.0,1.0)
* double = obj. GetDirection () - Set or get the normal
  vector of the circles plain. The height is growing in this
  direction. The direction must not be zero vector. The
  default vector is (0.0,0.0,1.0)
* obj.SetMarkedStartVertices (vtkIntArray _arg) - Set or get
  initial vertices. If MarkedStartVertices is added, loop is
  accepted in the graph. (If all of the loop start vertices
  are marked in MarkedStartVertices array.)
  MarkedStartVertices size must be equal with the number of
  the vertices in the graph. Start vertices must be marked
  by MarkedValue. (E.g.: if MarkedValue=3 and
  MarkedStartPoints is { 0, 3, 5, 3 }, the start points ids
  will be {1,3}.) )
* vtkIntArray = obj.GetMarkedStartVertices () - Set or get
  initial vertices. If MarkedStartVertices is added, loop is
  accepted in the graph. (If all of the loop start vertices
  are marked in MarkedStartVertices array.)
  MarkedStartVertices size must be equal with the number of
  the vertices in the graph. Start vertices must be marked
  by MarkedValue. (E.g.: if MarkedValue=3 and
  MarkedStartPoints is { 0, 3, 5, 3 }, the start points ids
  will be {1,3}.) )
* obj.SetMarkedValue (int ) - Set or get MarkedValue. See:
  MarkedStartVertices.
* int = obj.GetMarkedValue () - Set or get MarkedValue. See:
  MarkedStartVertices.
* obj.SetForceToUseUniversalStartPointsFinder (int ) - Set
  or get ForceToUseUniversalStartPointsFinder. If
  ForceToUseUniversalStartPointsFinder is true,
  MarkedStartVertices won't be used. In this case the input
  graph must be vtkDirectedAcyclicGraph (Defualt: false).
* int = obj.GetForceToUseUniversalStartPointsFinder () - Set
  or get ForceToUseUniversalStartPointsFinder. If
  ForceToUseUniversalStartPointsFinder is true,
  MarkedStartVertices won't be used. In this case the input
  graph must be vtkDirectedAcyclicGraph (Defualt: false).
* obj.ForceToUseUniversalStartPointsFinderOn () - Set or get
  ForceToUseUniversalStartPointsFinder. If
  ForceToUseUniversalStartPointsFinder is true,
  MarkedStartVertices won't be used. In this case the input
  graph must be vtkDirectedAcyclicGraph (Defualt: false).
* obj.ForceToUseUniversalStartPointsFinderOff () - Set or
  get ForceToUseUniversalStartPointsFinder. If
  ForceToUseUniversalStartPointsFinder is true,
  MarkedStartVertices won't be used. In this case the input
  graph must be vtkDirectedAcyclicGraph (Defualt: false).
* obj.SetAutoHeight (int ) - Set or get auto height
  (Default: false). If AutoHeight is true, (r(i+1) - r(i-
  1))/Height will be smaller than tan(MinimumRadian). If you
  want equal distances and parallel circles, you should turn
  off AutoHeight.
* int = obj.GetAutoHeight () - Set or get auto height
  (Default: false). If AutoHeight is true, (r(i+1) - r(i-
  1))/Height will be smaller than tan(MinimumRadian). If you
  want equal distances and parallel circles, you should turn
  off AutoHeight.
* obj.AutoHeightOn () - Set or get auto height (Default:
  false). If AutoHeight is true, (r(i+1) - r(i-1))/Height
  will be smaller than tan(MinimumRadian). If you want equal
  distances and parallel circles, you should turn off
  AutoHeight.
* obj.AutoHeightOff () - Set or get auto height (Default:
  false). If AutoHeight is true, (r(i+1) - r(i-1))/Height
  will be smaller than tan(MinimumRadian). If you want equal
  distances and parallel circles, you should turn off
  AutoHeight.
* obj.SetMinimumRadian (double ) - Set or get minimum radian
  (used by auto height).
* double = obj.GetMinimumRadian () - Set or get minimum
  radian (used by auto height).
* obj.SetMinimumDegree (double degree) - Set or get minimum
  degree (used by auto height). There is no separated
  minimum degree, so minimum radian will be changed.
* double = obj.GetMinimumDegree (void ) - Set or get minimum
  degree (used by auto height). There is no separated
  minimum degree, so minimum radian will be changed.
* obj.SetHierarchicalLayers (vtkIntArray _arg) - Set or get
  hierarchical layers id by vertices (An usual vertex's
  layer id is greater or equal to zero. If a vertex is
  standalone, its layer id is -2.) If no HierarchicalLayers
  array is defined, vtkSimple3DCirclesStrategy will generate
  it automatically (default).
* vtkIntArray = obj.GetHierarchicalLayers () - Set or get
  hierarchical layers id by vertices (An usual vertex's
  layer id is greater or equal to zero. If a vertex is
  standalone, its layer id is -2.) If no HierarchicalLayers
  array is defined, vtkSimple3DCirclesStrategy will generate
  it automatically (default).
* obj.SetHierarchicalOrder (vtkIdTypeArray _arg) - Set or
  get hierarchical ordering of vertices (The array starts
  from the first vertex's id. All id must be greater or
  equal to zero!) If no HierarchicalOrder is defined,
  vtkSimple3DCirclesStrategy will generate it automatically
  (default).
* vtkIdTypeArray = obj.GetHierarchicalOrder () - Set or get
  hierarchical ordering of vertices (The array starts from
  the first vertex's id. All id must be greater or equal to
  zero!) If no HierarchicalOrder is defined,
  vtkSimple3DCirclesStrategy will generate it automatically
  (default).
* obj.Layout (void ) - Standard layout method
* obj.SetGraph (vtkGraph graph) - Set graph (warning:
  HierarchicalOrder and HierarchicalLayers will set to zero.
  These reference counts will be decreased!)


* FreeMat_Documentation
* Visualization_Toolkit_Infovis_Classes
* Generated on Thu Jul 25 2013 17:18:34 for FreeMat by
  doxygen_ 1.8.1.1

