CN108921914A - A kind of pedigree drawing drawing method, device and electronic equipment - Google Patents

A kind of pedigree drawing drawing method, device and electronic equipment Download PDF

Info

Publication number
CN108921914A
CN108921914A CN201810514763.6A CN201810514763A CN108921914A CN 108921914 A CN108921914 A CN 108921914A CN 201810514763 A CN201810514763 A CN 201810514763A CN 108921914 A CN108921914 A CN 108921914A
Authority
CN
China
Prior art keywords
node
base
destination
list
destination node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810514763.6A
Other languages
Chinese (zh)
Other versions
CN108921914B (en
Inventor
杨飞
戴波
沙芸
姚合斌
胡晓东
刘学君
王伟
赵明伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Petrochemical Technology
Original Assignee
Beijing Institute of Petrochemical Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Petrochemical Technology filed Critical Beijing Institute of Petrochemical Technology
Priority to CN201810514763.6A priority Critical patent/CN108921914B/en
Publication of CN108921914A publication Critical patent/CN108921914A/en
Application granted granted Critical
Publication of CN108921914B publication Critical patent/CN108921914B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Abstract

The present invention provides a kind of pedigree drawing drawing method, device and electronic equipment, and wherein method includes:Obtain the genealogical relationship between destination node and base node;According to the genealogical relationship between the destination node and the base node, by destination node storage to first list, the coordinate data of the base node has been stored in advance in the first list;Obtain coordinate data of the destination node in the first list;According to genealogical relationship of the destination node between the coordinate data and the destination node and the base node in the first list, corresponding family tree is drawn.In this way, whole nodes can be stored according to preset rule, and family tree is drawn automatically according to the data of storage, improve the accuracy and convenience of family tree drafting.

Description

A kind of pedigree drawing drawing method, device and electronic equipment
Technical field
The present invention relates to technical field of electronic equipment more particularly to a kind of pedigree drawing drawing methods, device and electronic equipment.
Background technique
Family tree is when doing pedigree analysis in Medical Genetics, by between member each in family genetic connection and certain The distribution situation of character expressed by gene or disease in kinsfolk is formed according to certain forms with certain symbol plotting A kind of schematic diagram, also known as pedigree or pedigree chart.It not only may determine that the transmitting of certain inhereditary feature or disease using family tree Mode, the heritability for calculating disease, the rate aobvious again of estimation disease, and the diagnosis money of extremely valuable family background can be provided Material formulates effective precautionary measures for doctor and provides effective analysis means.
Common mapping software needs user according to the genealogical relationship between node, analyzes node location that may be present, It is manually entered the drawing point position of node, the operation for causing family tree to be drawn is relatively complicated.
As it can be seen that existing family tree software for drawing, which exists, operates relatively complicated technical problem.
Summary of the invention
The embodiment of the present invention provides a kind of pedigree drawing drawing method, device and electronic equipment, to solve existing family tree Software for drawing, which exists, operates relatively complicated technical problem.
In order to achieve the above object, concrete scheme provided by the invention is as follows:
In a first aspect, the embodiment of the invention provides a kind of pedigree drawing drawing methods, including:
Obtain the genealogical relationship between destination node and base node;
According to the genealogical relationship between the destination node and the base node, by destination node storage to first The coordinate data of the base node has been stored in advance in list, the first list;
Obtain coordinate data of the destination node in the first list;
According to coordinate data of the destination node in the first list and the destination node and the basis Genealogical relationship between node draws corresponding family tree.
Second aspect, the embodiment of the invention provides a kind of pedigree drawing drawing method devices, including:
Genealogical relationship obtains module, for obtaining the genealogical relationship between destination node and base node;
Node memory module will be described for according to the genealogical relationship between the destination node and the base node To first list, the coordinate data of the base node has been stored in advance in the first list for destination node storage;
Coordinate data obtains module, for obtaining coordinate data of the destination node in the first list;
Drafting module, according to coordinate data of the destination node in the first list and the destination node with Genealogical relationship between the base node draws corresponding family tree.
The third aspect the embodiment of the invention provides a kind of electronic equipment, including memory, processor and is stored in described On memory and the computer program that can run on the processor, the processor are realized when executing the computer program Pedigree drawing drawing method as described in any one of first aspect.
Fourth aspect, the embodiment of the invention provides a kind of electronic equipment readable storage medium storing program for executing, the electronic device-readable It is stored with computer program on storage medium, realizes when the computer program is executed by processor such as any one of first aspect The pedigree drawing drawing method.
In the embodiment of the present invention, when drawing family tree, first destination node is added in first list, passes through described One list records existing genealogical relationship between node and node present in pedigree.Further according to node in first list In storage location, draw corresponding family tree.In this way, whole nodes can be stored according to preset rule, and root Family tree is drawn automatically according to the data of storage, improves the accuracy and convenience of family tree drafting.
Detailed description of the invention
In order to illustrate the technical solution of the embodiments of the present invention more clearly, needed in being described below to the embodiment of the present invention Attached drawing to be used is briefly described, it should be apparent that, drawings in the following description are only some embodiments of the invention, For those of ordinary skill in the art, without creative efforts, it can also be obtained according to these attached drawings Other attached drawings.
Fig. 1 is a kind of flow diagram for pedigree drawing drawing method that one embodiment of the invention provides;
Fig. 2 a and 2b are the structural schematic diagram of first list and family tree involved in the embodiment of the present invention;
Fig. 3 be another embodiment of the present invention provides pedigree drawing drawing method flow diagram;
The knot of first list and family tree involved by Fig. 4 a, 4b to the specific embodiment that Figure 42 is in the embodiment of the present invention Structure schematic diagram;
Figure 43 is the structural schematic diagram for the family tree drawing apparatus that one embodiment of the invention provides.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete Site preparation description, it is clear that described embodiments are some of the embodiments of the present invention, instead of all the embodiments.Based on this hair Embodiment in bright, every other implementation obtained by those of ordinary skill in the art without making creative efforts Example, shall fall within the protection scope of the present invention.
Electronic equipment draws family tree according to genealogical relationship, and each of genealogical relationship individual is a section in family tree There is directly or indirectly pedigree between at least two node and close in point generally there are at least two nodes in family tree System.
Specifically, the direct genealogical relationship between two nodes may include:A node is the parent node of B node, A node Man and wife's node and A node for B node are the child nodes of B node.In general, first having certain node according to theory of heredity Then parent node successively has the node, man and wife's node of the node, the child nodes of the node again.If desired formerly for certain Individual A adds wife B, then shows as in corresponding family tree, on the basis of A node, adds man and wife's node B of A node.
It is the flow diagram of pedigree drawing drawing method provided in an embodiment of the present invention referring to Fig. 1.As shown in Figure 1, a kind of Pedigree drawing drawing method is applied to electronic equipment, includes the following steps:
Genealogical relationship between step 101, acquisition destination node and base node;
Electronic equipment will first determine the genealogical relationship between node when drawing family tree.In the present embodiment, electronic equipment Before drawing family tree, at least two nodes that genealogical relationship first will be present are stored into first list predetermined.It is drawing When family tree processed, if desired for a node addition, there are in the case where the new node of genealogical relationship, then need the new node First store in first list.
Specifically, at least two node already existing in the first list can be known as start node.It is needing When adding new node, in start node, the corresponding node of the genealogical relationship depended on required for the addition of the new node is determined, it can It is known as base node with the start node for being depended on the new node, which is known as destination node.
In this way, first for basic node addition, there are the destination nodes of a certain genealogical relationship into first list.The target section Point base node between existing genealogical relationship can be, the destination node can for the base node man and wife's node or Person's child nodes.
Step 102, according to the genealogical relationship between the destination node and the base node, the destination node is deposited Store up first list;
The first list being pre-created in electronic equipment is used for storing initial node, that is, at least two sections having determined Point, and at least two node is according to mutual existing genealogical relationship.Electronic equipment presets the storage of first list Rule, so that there is at least two nodes of opposite genealogical relationship when storing according to pre-set storage rule storage to first row Table.In this way, the storage location of at least two nodes in first list, can also indicate be between at least two node Genealogical relationship.
Since the base node is the node being stored in the first list, the base node exists Storage location in the first list is available.According to the pre-set storage rule of electronic equipment and the mesh The genealogical relationship between node and base node is marked, destination node is stored into the target position into first list, first list In the target position and base node storage location, can indicate be between the destination node and the base node Genealogical relationship.
Step 103 obtains coordinate data of the destination node in the first list;
Electronic equipment will be described according to the genealogical relationship between the destination node and base node according to above-mentioned steps After destination node is added to the first list, coordinate data of the available destination node in first list.
Step 104, according to coordinate data of the destination node in the first list and the destination node with Genealogical relationship between the base node draws corresponding family tree.
Electronic equipment stores destination node to after first list, and the coordinate of destination node can be obtained according to first list Genealogical relationship between data and the coordinate data and destination node and adjacent node of already existing base node.
In addition, electronic equipment can also pre-define family tree drawing rule, with provide different genealogical relationships node it Between spacing and relative position.In this way, electronic equipment can be according to coordinate data of the destination node in first list, Yi Jisuo The genealogical relationship between destination node and the base node is stated, the family tree of the corresponding destination node is drawn.
Specifically, electronic equipment can draw initial family tree according to already existing start node, need to add determining It, can also be on the basis of initial family tree, according to the target section after coordinate data of the destination node added in first list The new family tree of point-rendering.Alternatively, after whole nodes first can also be added to first list by electronic equipment, further according to first row The coordinate data and genealogical relationship of whole nodes, draw complete family tree in table.
Destination node, is first added in first list by the pedigree drawing drawing method that the embodiments of the present invention provide, and leads to The first list is crossed to record existing genealogical relationship between node and node present in pedigree.Exist further according to node Storage location in first list draws corresponding family tree.In this way, whole nodes can be deposited according to preset rule Storage, and family tree is drawn automatically according to the data of storage, improve the accuracy and convenience of family tree drafting.
On the basis of the above embodiments, electronic equipment is in executing step 101, the acquisition destination node and basis Before the step of genealogical relationship between node, the method also includes:
Create start node, wherein the base node is to exist directly in the start node with the destination node The node of genealogical relationship.
For electronic equipment before adding destination node for basic node, first creation includes the initial section of the base node Point, and base node is then in created start node, there are the nodes of direct genealogical relationship with the destination node.Electronics After equipment creates start node, the start node created can be stored in the first list.Foundation is created again Start node in any one node as basic node, add new destination node, for the family tree to improve pedigree The Node distribution of figure and the integrality of genealogical relationship.
In a specific embodiment, the start node of electronic equipment creation may include the first start node and second Start node;
The step of creation start node, may include.
Create first start node;
By first start node storage to the first list;
Obtain the genealogical relationship between second start node and first start node;
Initially according to the genealogical relationship and described first between second start node and first start node Coordinate data of the node in the first list, by second start node storage to the first list.
The start node that electronic equipment is created is divided into the first start node and the second start node, wherein described first The quantity of start node and second start node is at least one, and first start node is that electronic equipment is created at first The node built, second start node be depend on the first start node created and second start node with Genealogical relationship between first start node and the node created.
Specifically, electronic equipment first creates the first start node, and by the first start node created storage to the In one list, in this way, the first start node can have a determining coordinate data in the first list.
Then, electronic equipment obtains the genealogical relationship between the second start node and first start node, then presses According between the second start node and first start node genealogical relationship and the first start node in first list Determining coordinate data, will be in the storage to first list of the second start node.At this point, the second start node is in the first list In can also have a determining coordinate data.
Further, the genealogical relationship between second start node and first start node may include: Second start node is the parent node of first start node, alternatively, second start node is described first The child nodes of start node, alternatively, second start node is man and wife's node of first start node;
The genealogical relationship according to second start node and first start node and described first initial Coordinate data of the node in the first list, the step of by second start node storage to the first list, packet It includes:
If second start node is the parent node of first start node, second start node is stored In the first list, positioned at the position of the first start node lastrow of the row;Alternatively,
If second start node is the child nodes of first start node, second start node is stored In the first list, positioned at the position of the first start node next line of the row;Alternatively,
If second start node is man and wife's node of first start node, second start node is stored In the first list, first start node institute in the line, the backward adjacent position with first start node.
Electronic equipment is according to the first start node created at first, when adding the second start node, initially saves according to second Second start node is stored the correspondence position into first list by the direct genealogical relationship between point and the first start node Place is set, carries out corresponding storage particularly directed to three kinds of genealogical relationships.
Specifically, parent node ought to be prior to working as prosthomere if the second start node is the parent node of the first start node Therefore point and child nodes by the storage of the second start node as parent node into first list, are located at the first initial section The position of point lastrow of the row.If the second start node is man and wife's node of the first start node, man and wife's node ought to be simultaneously Column are placed, and therefore, by the storage of the second start node as man and wife's node into first list, are located at where the first start node In row, with after the storage location of first start node to adjoining position.If the second start node is the first start node Child nodes, child nodes ought to after in present node, therefore, by the storage of the second start node as child nodes to first In list, the position of the storage location of the first start node next line of the row.
As shown in Figure 2 a and 2 b, it is assumed that the first start node that electronic equipment is created is node A, and node A is first Storage location in list is Za.On the basis of the first start node, the second start node B is added.Second is obtained initially to save Genealogical relationship between point B and the first start node A is man and wife's node, then will the second start node B storage to the To adjoining position Zb after the storage location Za of one start node A.
With continued reference to Fig. 2 a and Fig. 2 b, for another example the first start node that electronic equipment is created is node A and node B, Man and wife's node, storage location of the node A in the first list are Aa to node A and node B each other, and node B is described first Storage location in list is Bb.On the basis of the first start node, the second start node C is added.If node C is node A Parent node, then by node C storage into first list, be located at the lastrow position of the row node A at.
If the second start node S to be added is the child nodes of node A and node B, node S can be stored to the In one list, the next line position Zs of the row of corresponding node A and node B.
In detailed process, each node of creation is stored in NodeList in some sequence, subsequent node The operations such as drafting obtain corresponding nodal information from NodeList, and make adjustment to NodeList.NodeList is One List<List<JXNode>>Type, each of it element are List<JXNode>Type indicates this line The node of (layer, transverse direction).By multiple List for indicating a line node<JXNode>Element constitutes NodeList.NodeList's is every One element (list of a line node) carries out dynamic addition when needed.When creating the first start node, first is added List<JXNode>Element, the row element is 0 in the index of NodeList at this time, and the row element is as initial row.Addition second When start node and subsequent destination node, all based on first start node.
When adding parent node, new List<JXNode>Element is added to the beginning of NodeList.
When adding the child nodes C of some node N, List first where acquisition node N<JXNode>Index, and judge The largest index (last line that the row is NodeList) whether the index is NodeList.
If it is last line that node N, which is expert at, new a line is added again behind last line, and by child nodes C is added to the new a line.As, new List is created<JXNode>Element, and it is added to the end of NodeList.
If it is not last line that node N, which is expert at, without creating new List<JXNode>Element.Directly by child Node C is added to the next line of node N.
Each row element List<JXNode>According to some rule save each of this line JXNode node, These nodes are arranged successively, subsequent sequentially to traverse List<JXNode>The structure of family tree is completed in the position for distributing each node It builds.
First start node is corresponded in first list pedigree with the second start node and closed by above-mentioned several embodiments System's storage, then the subsequent coordinate data according to the node in first list of electronic equipment, the pedigree that can be obtained between node close System, accurately draws family tree.
Referring to Fig. 3, for the structural schematic diagram of another pedigree drawing drawing method provided in an embodiment of the present invention.The present embodiment In, the destination node and the genealogical relationship of the base node include:The destination node is man and wife's node of basic node, Or the destination node is the child nodes of the base node.As shown in figure 3, a kind of pedigree drawing drawing method, including:
Genealogical relationship between step 301, acquisition destination node and base node.
Start node is pre-created in electronic equipment, and the start node created storage is being created into first list New node is added on the basis of the start node built.For any node addition in start node, there are direct genealogical relationships When new node, using the start node as basic node, new node to be added is destination node.Destination node is added to the Before one list, first determine that the genealogical relationship between destination node and base node, genealogical relationship may include:Destination node Man and wife's node or destination node for basic node are the child nodes of basic node.
If step 302, the destination node are man and wife's node of the base node, by destination node storage to institute State base node institute in the line, with after the base node to adjoining position;
Electronic equipment determine institute destination node to be added be basis node man and wife's node, then can be directly by target section Point storage to base node institute in the line, with after the storage location of the base node to adjoining position.
For example, the point of addition in corresponding family tree can be such as Fig. 4 a to add man and wife's node S for basis node N Shown in middle dotted line.Correspondingly, as shown in Figure 4 b, in first list, node S is added to node N institute in the line, with node N Backward adjoining position.Since node S is to be inserted between already existing node N and node G, node S is added to After node N, it is also necessary to the position of the node after node G and node G of postponing, relative positional relationship such as Fig. 4 c institute after addition Show.
If step 303, the destination node are the child nodes of the base node, the destination node is stored in institute It states in first list, positioned at the position of start node next line of the row;
If it is determined that destination node to be added be basic node child nodes, then directly destination node can be stored To the position of base node next line of the row.
Further, it is contemplated that the case where destination node is the child nodes of basic node can there are many, for example, mesh Mark node be the first child node of basis node or whether non-first child node or base node are ancestors Type node etc., specific location of the destination node in the next line of base node is different, is not construed as limiting.
Step 304 obtains coordinate data of the destination node in the first list.
Step 305, according to coordinate data of the destination node in the first list and the destination node with Genealogical relationship between the base node draws corresponding family tree.
Destination node to be added is added in first list by electronic equipment according to above-mentioned steps, can obtain target section Coordinate data of the point in first list, can draw corresponding system according to the genealogical relationship between coordinate data and node Spectrogram.Specific implementation process may refer to the implementation process of correlation step in above-described embodiment, repeat no more.
Further, different according to the type of base node, first child node institute specific location to be added is not yet Together.The type of base node may include:Ancestors' type node and non-ancestors' type node.As shown in Figure 2 a, be located at start node A and On node B, and there is the node that must be relied in the heredity of start node A and node B, and the creation of ancestors' type node relies on The start node, as ancestors' type node.Ancestors' type node and start node A and node B constitute V-type region.Such as institute in Fig. 2 a Show, node A, node B, node C, node D, node E, node F, node G, node H, node I, node J, node K, node L, section Point M and node Z constitutes V-type region.Wherein, node C, node D, node E, node F, node G, node H, node I, node J, Node K, node L, node M and node Z are ancestors' type node.Node O as shown in Figure 2 a, node P, node Q, node R, node S, node T, node U and node V are non-ancestors' type node.
Several situations that may be present when according to the child nodes that destination node is basic node, below in conjunction with specific Embodiment is illustrated.
In the first embodiment, the base node is non-ancestors' type node;
If the destination node is the first child node of the base node, the destination node is added to described In base node next line of the row, positioned at the position of target front end, wherein the target front position includes the basis The position of front end in node next line of the row;Alternatively,
If the destination node is the non-first child node of the base node, the destination node is added to institute State in base node next line of the row, with after the last one already existing child nodes of the base node to adjacent Position.
As shown in Fig. 5 a, 5b and Fig. 5 c, destination node S is added for basis node N, wherein node S is non-the of node N One child.Accordingly, it is determined that destination node S is stored in by the already existing whole child nodes of base node N, as node D To adjoining position after the last one child nodes D in whole child nodes.
In present embodiment, destination node is determined according to whether destination node is the first child node of basic node Institute position to be added.If destination node is the first child node of basic node, which ought to be located at child Node be expert in earlier position.It, can should if destination node is the non-first child node of basic node Destination node is stored in the position after the already existing whole child nodes of the base node.
On the basis of the above embodiment, the base node is non-ancestors' type node, and the destination node is described The first child node of base node can also include following several situations:
If during the base node is expert at, there is the forward direction node before the base node, and the forward direction There are child nodes for node, then by the destination node be stored in after the last one child nodes of the forward direction node to neighbour The position connect;
If during the base node is expert at, there is no the forward direction nodes before the base node, or exist Forward direction node before the base node, and child nodes are not present in the forward direction node, then by the destination node There are the positions of base node next line front end of the row.
The case where for base node being non-ancestors' type node, the location-dependent query of the destination node line position where base node Node before base node is determined with the presence or absence of child nodes.
In first list, it will be located at during the base node be expert at, the section before the storage location of base node Point, referred to as before to node, node after the storage location of the base node be known as after to node.It is a certain in first list The position of capable front end, the generally storage location of the row leftmost side.In other embodiments, if based on defining Extending direction, then, near preceding storage location, to be not limited thereto pointed by the extending direction.
First, if during the base node is expert at, to node before being not present before the base node, then it represents that the basis Other nodes are not present before node, may thereby determine that in the next line of the base node, at first of the base node Also other nodes are not present before child nodes.Therefore, destination node can be stored in base node next line of the row The storage location of middle front end.
Second, if existed during the base node is expert at, before the base node preceding to node, then it represents that the base section There is also other nodes before point, it is necessary to judge whether there is also child nodes for existing forward direction node.If forward direction node There is no child nodes, then it was determined that in the next line of the base node, are not at the first child of the base node Other nodes before node.Therefore, destination node can be stored in front end in base node next line of the row Storage location.In aforementioned process, when the quantity of existing forward direction node is at least two, then judge that this preceding whether there is to node When child nodes, any one forward direction node before judging all into node is with the presence or absence of child nodes, only in each of front When child nodes are not present to node, child nodes are not present to node before just determining.
Third, if there is preceding to node, and existing forward direction during the base node is expert at, before the base node There are child nodes for node.Before being located at base node due to forward direction node, the child nodes of forward direction node also are located at base Position before the child nodes of plinth node.To the last one child nodes of node before determining, which is stored in With adjoining position after the last one child nodes of forward direction node.In aforementioned process, the quantity of existing forward direction node is When at least two, then it needs to be determined that the last one child nodes into whole child nodes of node before all, by target section To adjoining position after the last one child nodes that point is stored in whole child nodes.
As shown in Fig. 6 a, 6b and 6c, the destination node S is that the first child of basic node N connects node.Firstly, obtaining The position of node N is taken, and judges to whether there is before node N preceding to node.Exist before predicate node N it is preceding to node H and L, And there are child nodes M by node H and node L.As shown in figs. 6b and 6c, to node H and node before destination node S being stored in Storage location after the rightmost side child nodes M of L, and postpone the node P after being located at node M originally and node R.
As shown in Fig. 7 a, 7b and Fig. 7 c, to node before being not present before node N, then destination node S is directly stored in section The front end of point N next line of the row.
As shown in Fig. 8 a, 8b and Fig. 8 c, to node H before existing before node N, but child nodes are not present in forward direction node H, Therefore destination node is directly stored in the front end of node N next line of the row.
In another embodiment specific implementation mode, if the base node is ancestors' type node, the base node has one A first child nodes, the destination node are second child nodes of the base node;
In addition, the base node is further divided into outermost side gusset and medial node, institute according to affiliated edge type The position for stating base node can be divided into first direction or second direction according to affiliated direction;
If the destination node is the child nodes of the base node, the destination node is stored in described the In one list, the step of positioned at the position of start node next line of the row, including:
Determine that base node next line of the row has the outermost side gusset along target direction, wherein the mesh Marking direction is the first direction or second direction;
If the outermost side gusset is along the target direction, there are lateral nodes, and the priority of the lateral node is small In the parent node of the priority of the destination node or the lateral node be not ancestors' type node, then by the mesh Mark node is stored in after the lateral node to adjoining position;
If the outermost side gusset is along the target direction, there is no lateral nodes or the outermost side gusset described in There are lateral nodes for target direction, and the priority of the lateral node is greater than the priority of the destination node, and the outside The parent node of node is ancestors' type node, then the destination node is stored in base node next line edge of the row The outermost locations of the target direction.
Specifically, if the target direction is first direction, that is, when corresponding to the node in left side in family tree, the outside section When the priority of point is equal to the priority of destination node, destination node can also be stored in after lateral node to adjacent position It sets.
When adding second child nodes for the base node of ancestors' type node, it is contemplated that ancestors' type node exists preferential Grade attribute, and the distribution situation of priority is, successively reduces from the node of family tree two sides to intermediate node, it is every by a pair of of ancestral Antetype node, priority decline 1, the priority of two pairs of ancestors' type nodes in bosom are 1.Therefore, as shown in Figure 2 a, family tree Ancestors' type node section central symmetry feature is presented, line of symmetry can be monosymmetric preferential as shown by the dashed line in figure 2 a Grade variation tendency is also symmetrical.Therefore, it when adding child nodes for ancestors' type node, can be determined the case where point two sides.
Specifically, determining the position of base node, determine that the base node belongs to first direction node or second direction Node.Then, on the direction according to base node described in it, if be outermost side gusset, be divided into outermost side gusset and inside Node.Wherein, the outermost side gusset, lateral node or medial node, be in the next line of the base node, And outermost side gusset, refer to the outermost side gusset of the node in V-type region, rather than positioned at the outermost of the next line of node Side gusset.In addition, lateral node is located at the outside that outermost side gusset extends along affiliated direction, the quantity of lateral node can be One or more refers to the operation executed for whole lateral nodes for the operation of lateral node.
Below in conjunction with specific embodiment, carry out specific explanations addition rule from first direction node and second direction node Then.
As shown in Fig. 9 a, 9b and 9c, base node N is first direction node, when adding child nodes S for node N, first During acquisition node S is expert at, the outermost side gusset A of first direction, the outermost side gusset is generally ancestors' type node or initial section Point.It is searched for from outermost side gusset to first direction, determines that there are lateral node J.The priority of lateral node J is the same as its parent node The priority of N and O is identical, and the priority for being 2, S node is also 2, then the priority of lateral node J is equal to destination node S's Priority.At this point, by destination node be stored in after lateral node J to adjoining position.If desired continue as base node N it After add at least one child nodes, then at least one child nodes can be stored in the position after node S.
As shown in Figure 10 a, 10b and 10c, base node N is first direction node, adds child nodes S for node N.Section During point S is expert at, from the outermost side gusset V of first direction, lateral node R is searched along the first direction.Lateral node R's Parent node is node J and node K, and node J and node K are not ancestors' type nodes, so lateral node R is without priority.Cause This, destination node S can be stored in after lateral node R to adjoining position.
As shown in Figure 11 a, 11b and 11c, base node N is first direction node, adds child nodes S for node N.Section During point S is expert at, from the outermost side gusset A of first direction, lateral node is not searched along first direction.It therefore, can be direct The destination node S is added to the foremost position of the row.
As shown in Figure 12 a, 12b and 12c, base node N is first direction node, adds child nodes S for node N.Section During point S is expert at, from the outermost side gusset A of first direction, lateral node J and node K, lateral node are searched along first direction The priority of J and lateral node K are equal to the priority of its parent node N and node O, i.e. lateral node J and node K's is preferential Grade is 2, and the priority of destination node S is equal to the priority of its parent node P and node T, i.e. the priority of destination node is 1, the priority of destination node is less than the priority of lateral node.Also, the parent node N of lateral node J and lateral node K and Node O is ancestors' type node.Therefore, destination node S is stored in the position of front end of the row.
Correspondingly, adding child nodes S, the destination node S when base node N is second direction node for basis node N For second child nodes of basic node, the storage location of destination node is specific as follows.
As shown in Figure 13 a, 13b and 13c, from the child nodes S of base node N outermost side gusset D of the row, along second Direction searches lateral node J, and the priority of node J is equal to the priority of its parent node E and F, i.e., lateral node J's is preferential Grade is 1.The priority of destination node S is equal to the priority of its parent node N and H, and the priority of destination node S is 2, therefore, The priority of destination node S is greater than lateral node J priority, then destination node S is stored in lateral node J in a second direction Backward adjoining position, as lateral node J adjoining position inwardly.
As shown in Figure 14 a, 14b and 14c, the child nodes S of base node N outermost nodes X of the row, along second party To searching lateral node Y, the parent node J and R of lateral node Y is not ancestors' type node, lateral node Y without priority, because This, is stored in lateral node Y backward adjoining position in a second direction for destination node S.
As shown in Figure 15 a, 15b and 15c, the child nodes S of base node N outermost side gusset D of the row, from outermost Node D searches lateral node J and node K outward in a second direction, and the priority of lateral node J and K are equal to its parent node G With the priority of H, i.e. the priority of lateral node J and K is 2.The priority of destination node S is excellent equal to its parent node N's and F First grade, the i.e. priority of destination node S are 1, less than the priority of lateral node J and K, therefore, destination node S are stored in section During point K is expert at, backward adjoining position in a second direction.
If base node is ancestors' type node, the destination node for base node addition is non-the second of the base node A child nodes then store destination node to the position after the last one child nodes of base node.If this last There are man and wife's nodes for a child nodes, then are stored in destination node after man and wife's node of the last one child nodes.
As shown in Figure 16 a, 16b and 16c, base node N has existed first child node B, and after child nodes B Without man and wife's node, then destination node S is stored in the position after first child node B.
As shown in Figure 17 a, 17b and 17c, base node N has existed child nodes B and node C, and child nodes C without Destination node S is then stored in the position after the last one child nodes C by man and wife's node.
As shown in Figure 18 a, 18b and 18c, base node N has existed child nodes B and node C, and there are husbands by node C Destination node S is then stored in the position after man and wife's node D of the last one child nodes C by wife node D.
Multiple embodiments of above-mentioned the present embodiment, the genealogical relationship between base node and destination node, Yi Jiji The type of plinth node specifically illustrates the addition scheme of destination node.Node is accurately added to first row according to genealogical relationship In table, so that the relative position between first list interior joint can indicate the genealogical relationship between node to a certain extent. In this way, passing through the coordinate data of first list interior joint, the genealogical relationship between node can be accurately known, improve family tree and draw The accuracy and convenience of system.
On the basis of previous embodiment, the coordinate data according to the destination node in the first list with And the genealogical relationship between the destination node and the base node, the step of drawing corresponding family tree, including:
According to the genealogical relationship between the destination node and the base node, determine in pedigree coordinate system, it is described Ranks spacing between the corresponding drawing point of destination node drawing point corresponding with the base node;
According to the destination node and coordinate data and the target of the base node in the first list Ranks spacing between the corresponding drawing point of node drawing point corresponding with the base node determines that the destination node is corresponding Coordinate data of the drawing point drawing point corresponding with the base node in the pedigree coordinate system;
According to the corresponding drawing point of destination node drawing point corresponding with the base node in the pedigree coordinate Coordinate data in system draws family tree in the pedigree coordinate system.
In present embodiment, electronic equipment presets drawing rule, and main includes corresponding between the node of genealogical relationship Spacing setting rule and relative position setting rule etc..When drawing family tree, first according between destination node and start node Genealogical relationship, determine ranks spacing in pedigree coordinate system, between the corresponding drawing point of destination node and base node.So Afterwards, the coordinate data according to destination node and base node in first list determines that the drawing point of destination node is sat in pedigree Coordinate data of the drawing point of coordinate data and base node in mark system in pedigree coordinate system.Finally, according to base section Coordinate data of the drawing point of point in pedigree coordinate system, draws the drawing point of the destination node, and according to destination node pair Coordinate data of the drawing point answered in pedigree coordinate, draws the drawing point of the destination node, and system is drawn in pedigree coordinate system Spectrogram.
The drawing process of family tree can construct pedigree chart after storing node to first list according to above-mentioned steps Then the rough location of each section node within a grid carries out border detection, and the row of all nodes tentatively distributed completion Column coordinate data carries out integrated regulation, and to guarantee leftmost side node abscissa 0, the ordinate of top side node is 0, and generate with The grid array that the line number of node, columns are consistent.Finally, traversing first list again, each node and its related letter are drawn Breath records its number for storing node in grid array, chooses node to carry out relevant operation convenient for subsequent.In the following, will combine The implementation process of each step is described in detail in the above process.
The first, node rough location is constructed.
Building node most importantly calculates the position of egress, node location uses Gx, and two attributes of Gy indicate, generation The position of grid where the table node, wherein Gx represents the index of grid column, and Gy represents grid index of the row. The NodeList array in first list can be traversed when constructing node first, calculates each section in NodeList according to certain method The Gx of point, Gy attribute lay the foundation for graphic plotting.
Each node location is restricted by its adjacent node location up and down, with have between node layer it is fixed between Away from, between upper and lower node layer again have fixed half sleeve symmetrical.The addition of node may will affect the position of adjacent node, and adjacent The change of node location can bring the change of its adjacent node position again, so as to influence whether some or all of node position The variation set, therefore position of the destination node in family tree is calculated, it needs to carry out with sequence according to certain rules.
Specifically, entire family tree can be divided into three parts:Ancestors' node layer part, lower section node section, left and right Two sides node section, as shown in figure 19, wherein start node incorporates ancestors' node layer part into.The computation sequence of node location is abided by Follow following principle:The node location of ancestors' layer part is first calculated, then calculates the node location of section below, finally calculates left and right two The node location of side section.
In view of relative position is not only constrained by same layer node location also by upper and lower level joint constraint between node, if according to It is top-down go to calculating position from left to right if, will cause multiple, a chain of adjustment of node location, this adjustment is being counted every time Can all it occur when calculating child nodes, not only computation complexity is high, but also easily causes confusion.Subregion meter is used in present embodiment It calculates, it is contemplated that with the spacing between node layer, uncertain (two adjacent nodes may be spaced a distance, it is also possible to which interval is more A distance), make to calculate node location with can be convenient in this way, avoids the multiple adjustment of node location.
The computation sequence of ancestors' node layer position is from bottom to top, to calculate the position of start node at first, then according to section Ancestral relationship between point calculates upwards, finally completes the calculating of all ancestors' layer part of nodes position.Need exist for two The List of JXNode type, one is used to store the node listing NowList currently calculated, another is used to store and connects down Carry out calculative node listing NextList.
Algorithmic procedure is as follows:
1. initializing NowList (two start nodes of filling).
2. traversing each of NowList node Node, its Gx, Gy attribute is set.The Gx value of Node is since 0, often 2 (0,2,4,6,8 ...) are divided between a Node.The RelativeY attribute that the attribute value of Gy is Node is plus where start node The sum of line index InitNodeRowIndex is multiplied by 3 (Node.Gy=(Node.RelativeY+InitNodeRowIndex) * 3).It is arranged after the completion of Gx, Gy and two parent nodes of Node is inserted into NextList.Wherein, the RelativeY attribute list of Node Showing present node and start node is expert at the relative distance of (Gy), the RelativeY of start node is 0, every upper layer, RelativeY-1, it is every to next layer, RelativeY+1.
3. after the completion of traversing NowList, the alignment of ancestors' node layer ranks being adjusted using AnNodeMoveDown function and is closed System.Specifically, using AnNodeMoveDown (List<JXNode>NowNodeList) method is passed to NowList as ginseng Number.Adjust the position of the corresponding first child node First of each node Node in NowList, the position of First node It is set to the position of corresponding parent node middle line.This method is a recursion method, and recurrence to child nodes is after start node It does not continue to.The ranks aligned relationship between different layers is adjusted, it is right by the position of the corresponding first child node of each node Standard arrives the midline position of the parent node of the child nodes, and so on, until the child nodes calibrated are that start node is Only.
4. NextList is changed to NowList.
5. recycle 2. 3. 4. step until there is no node in NextList.
Need the chained list of two JXNode types when calculating section below node location, one is used to store and is constructing All node NowList of current layer, next node layer NextList that another storage needs to construct.
Algorithmic procedure is as follows:
1. initializing NowList.It is corresponding using the child nodes and child nodes of start node (InitAnNodeLeft) Man and wife's node initialize.The child nodes list of InitAnNodeLeft is begun stepping through when initialization from index 0 (InitAnNodeLeft.RelationChildrenList).Each node being traversed is C, if there are man and wife's sections by C Point, then its man and wife's node is denoted as CT.Set gradually the Gx of each C in traversal, the value of Gy (be divided into 2 between each node Gx (0, 2,4,6,8 ...), the Gy of each node is C.Gy=(C.RelativeY+InitNodeRowIndex) * 3).If current There are man and wife node CT, then Gx, Gy of CT to be arranged after corresponding C and (be divided into 2 between the Gx of the Gx and C of CT) by C.The part is each The setting sequence of a node is consistent with the sequence stored in NodeList.
2. after the completion of initializing NowList, instantiating (reinitializing) NextList.Then NowList is traversed, it is each A node being traversed is Node.If there are child nodes by Node, the child nodes list of Node node is traversed (Node.RelationChildrenList), each child nodes of Node are NodeC, we will be each herein NodeC distributes initial position.The Gy method of salary distribution of NodeC is NodeC.Gy=(NodeC.RelativeY+ InitNodeRowIndex)*3.Starting GX (Gx of first NodeC node) calculation method of NodeC is following (assuming that Node Man and wife's node is NodeT, they share N number of NodeC node at this time, and starting Gx is StartX):
StartX=(Node.Gx+NodeT.Gx)/2-N+1, to guarantee that parent's line midpoint and all child's middle lines are couple Neat.
It is sequentially allocated the Gx value of each NodeC since StartX, node separation is still set as 2, NodeC presence pair Man and wife's node is answered, is distributed after NodeC.It is often assigned after a node and the node is added to NextList (the corresponding man and wife's node of NodeC will also add).
3. carrying out collision detection after the position distribution of all nodes in the child nodes list for completing some Node. The specific method is as follows (assuming that the node for currently completing all child nodes position distribution is NowN, it is previous to complete all children The node of node location distribution is PreN):
The rightmost side child nodes for obtaining PreN are denoted as A (man and wife's node that A is A if A is there are man and wife's node), obtain The leftmost side child nodes of NowN are denoted as B.Collision detection is carried out using dis=CN_NodeIsClash (A, B) method, if should Method return value dis is non-zero, then uses CN_NodeSeparation (A, B, dis, new List<int>()) method saved Point conflict adjustment.
Collision detection algorithm, this for judging currently to add to the leftmost side child of parent and previous completed all children and are saved The distance between the rightmost side child of PreN of point distribution generates conflict, does not otherwise have if distance is less than fixed intervals 2 Conflict.
4. judging the number of NextList interior joint at this time after the traversal of all nodes in completion NowList.If section Point number is not 0, repeats 2. 3. 4. step, until NextList interior joint number is 0, is exited.
5. after above-mentioned steps are fully completed, the integrated regulation of all nodes in the part is carried out using Reposition ().
Such as shown in Figure 20, a minor node can occur after all child nodes that inode is completed in building in calculating process Conflict, this is second of conflict, can also occur after the child nodes that E is completed in building it is primary, at this time the case where it is as shown in figure 21.
Several child nodes of inode complete distribution at this time, and leftmost side child nodes N is distributed with a upper completion The rightmost side child nodes M of node G clash.It is passed at this time and represents the M node of nodea and represent the N node of nodeb, The adjusted value dis=1 (dis=2- (N.Gx-M.Gx)) of conflict, carries out conflict adjustment.The key for solving conflict herein is to find The position (moving right since which node) of node separation.Searching mode is that acquisition nodea first is denoted as A, nodeb note For B.Then judge whether the parent node of two nodes of A, B is identical.If it is different, A node is changed to the parent node of A.B section Point is changed to the parent node of B, and repeats this step, until the parent node of two node of A, B is identical.The B node found in this way is i.e. For disengaged position, the brotgher of node (including their interdependent node) on B and its right side requires to move right, B node here This level at place is known as node separating layer.
NodeGxAdjust (JXNode node, int dis, List are used when moving herein<int>Vis) this method, Node indicates that mobile node, dis indicate displacement, and vis prevents from repeating to move for sentencing weight.The function performance:If Node is saved There are child nodes for point, then by the man and wife's node and child nodes of Node all to right translation dis distance.
This method is recursion method, since node, change node.Gx first.Then recursive call this method successively passes Enter man and wife's node of node, each child nodes of node.This completes the separation of the node of first time, at this time the case where such as Shown in Figure 22.
New conflict occurs for J, K node after the completion of separating for the first time, needs separation next time.Conflict situations in practice Not only this in figure is a kind of, for whether needing separation and the acquisition of disengaged position next time next time, with the following method, phase Hold inside the Pass as shown in figure 23.
1. start node is motionless, therefore is not present at this time if the layer where this separation is next layer of start node It separates next time.
2., to separating layer (not including node conflict layer), searching among these every since occurring one layer of node conflict One layer, obtain rightmost side node NA relevant to separating.The next node NB on the right side of NA is obtained, judges that NA and NB whether there is Conflict, and obtain conflict adjusted value.The finally selection conflict maximum NA of adjusted value, NB node, as the position separated next time. If maximum conflict adjusted value is 0, it is same in the absence of first separation.(premise here is that NB node exists, and NB Node is the node of lower section node section, only meets the two requirements, need to just calculate the conflict value of NA, NB of this layer.)
When calculating two sides node location, lower section node location has been completed to calculate.Arbitrary node in this two parts needs Guarantee in the outside (left or right side) of any one node of lower section.Children's node that part ancestors layer generates can be according to it The priority of parent node is arranged successively from Inside To Outside, and the lower level node of these children's nodes equally follows this requirement. The lower level node for coming innermost children's node will equally be arranged in most inner side.That is starting to be building up to completion building In whole process, the relative position of node is consistent with the relative position of node is saved in NodeList.Left and right side node Construction method and the construction method of lower section are more similar, specific as shown in figure 24.
Algorithmic procedure is as follows:
1. being traversed up since initiation layer, all ancestors' layers are traversed, the outermost node of each layer is successively searched out and exists Position StartIx in node listing, while recording the current mesh coordinate StartGx of the node.
2. position StartIx is as initial position, since the position, to two-sided search, searches for each and meet such as The node of lower condition:Condition 1:It is not the outermost side gusset of current layer;Condition 2:Its father node is that ancestors' type node (guarantees the section Point is the node of current layer ancestors) it is regular it can be found that being in the father node type for searching a node according to Node distribution It can stop search when non-ancestors' type node.
3. all nodes for meeting condition according to the sequence of positions of node from left to right, are successively added to In PresentList list, PresentList list is initialized.Then its mesh coordinate Gx, Gy are distributed.Gx from StartGx is extended to two sides, and each node separation is that 2, Gy is calculated according to the relative position with initiation layer, (current layer phase To value+initiation layer position) × 3.
4. starting to carry out level building to the node in PresentList list after the completion.Level construct when, left side be from The last one element of PresentList traverses forward, and right side is traversed backward from first element, and the node of traversal is now.
5. obtaining man and wife's node nowT of child nodes the sum cnt, now of now.Now is calculated most according to these information The initial position StartX of the Gx of right-side child nodes (the last one child nodes).StartX=(now.Gx+nowT.Gx)/2 +cnt-1.According to the position of StartX, the position of each child nodes of now is distributed, when distribution is saved from the last one child Point starts to distribute (since the last one element of the child nodes list of now) forward.The Gx of each child nodes from StartX is divided into 2, Gy and is calculated according to the relative position with initiation layer between starting.If child nodes there are man and wife's node, Its man and wife's node distributes on the right side of child nodes.The child nodes are added in NextList after being assigned, after addition Sequence is consistent with current layer.
6. after the distribution for completing all child nodes positions of a now node, carrying out collision detection.
The collision detection of left part is:The rightmost side (the last one) the child nodes L of the current now node for completing distribution Whether (if there is man and wife's node, then man and wife's node is L) exists with the next node R on the right side of L node storage position conflicts.Make Collision detection is carried out with ACNL_IsClash (L, ref R) method, in case of conflicting, this method can return to conflict adjusted value Dis, and pass through return by reference R.If dis is non-zero, ACNL_NodeSeparation (L, R, dis, new List is used<int >()) method adjustment conflict.
Right part collision detection is:Whether the leftmost side (first) child nodes R of the current now node for completing distribution Exist with the previous child nodes L on the left of R node storage position and conflicts.Using ACNR_IsClash (R, ref L) method into Row collision detection, in case of conflicting, this method can return to conflict adjusted value dis, and pass through return by reference L.If dis is non-zero, Then use ACNR_NodeSeparation (L, R, dis, new List<int>()) method adjustment conflict.
7. NextList is changed to PresentList, NextList is emptied after completing all of the above step.Then 6. 4. repetition is arrived walks, until NextList exits for sky.
8. building terminates after having executed above-mentioned steps to all ancestors' layers.
The conflict of ACNL_NodeSeparation specific explanations will be used to adjust process below.This method prototype is void ACNL_NodeSeparation(JXNode leftnode,JXNode rightnode,int dis,List<int>Vis), Leftnode indicates that the node in conflict left side, rightnode indicate that the node on conflict right side, dis indicate conflict adjustment amount, vis For marking the node that adjustment is completed, prevent from repeating to adjust.
Such as Figure 25, it can be clashed in the position of node I, node A in its building process, need to carry out conflict adjustment. Due to when constructing each layer, will do it primary adjustment downwards, so the conflict adjustment carried out for I and A node will do it 2 Secondary, we analyze second of conflict adjustment here.Now into the building of this node layer of L, B1, C1, N, the position of L is got first It sets, is then sequentially allocated the position of U, S, R.According to the position of S and U after being assigned, M, N, J are distributed, is distributed in these nodes After the completion, it will not clash.Next the position according to N and J node, distributes the position of inode, after inode original allocation Meeting and A node conflict, shown in allocation result Figure 26.
After completing original allocation, can calculate entry/exit conflicts adjusted value by ACNL_IsClash (L, ref R) is -2, conflict Adjustment left sibling is I, and right node is A.Parameter is passed to ACNL_NodeSeparation (L, R, -2, new List<int> Vis) method carries out conflict adjustment.Disengaged position is searched for after incoming, if L node is A, R node is B.Successively obtain father's section of A Point obtains the father node of B, compare the two father nodes whether and meanwhile for ancestors' type node or whether the complete phase of the two nodes Together.If identical, search terminates.It is different then update A be A father node, B be B father node, until meeting above-mentioned item Part.A node is I first at this time, and B node A, the father node of A, B are unsatisfactory for condition at this time, continue searching.Then A becomes N, B Become V.It continues searching, the father node of A is S at this time, and the father node of B is L, is still unsatisfactory for, and change A is S, and B N continues to search Rope.The father node of A and B is Q at this time, meets condition, is stopped search, and concrete condition is as shown in figure 27.After search, need It is separated here from S node and L node.Needing mobile node is this 6 nodes of S, U, M, N, J, I, needs to be moved to the left 2 lattice. It will lead to R, S after the completion of mobile and new conflict occur, need to separate lower layer at this time, conflict situations are as shown in figure 28.
It is at this time passed to L and R node of the R and S as conflict, conflict adjusted value is still -2.R is as initial when separation A node, S is as initial B node.Father node P, Q of A and B node are ancestors' type node at this time, then this layer is new Disengaged position is directly separated, and R is finally moved to the left 2 lattice and completes separation.Also complete the structure of the figure at this time simultaneously It builds, as shown in figure 29.
The second, grid generation, border detection and node location integrated regulation
When going to this part, relative position between node it has been determined that these steps of this part be to figure into The last adjustment of row, and the node Id of each node of figure after adjustment is stored in a grid array, by this net Lattice array can handle the related content that mouse is chosen.
Preliminary distribution (is completed, all nodes have just by the NodeList that traversal saves nodal information at this time first Gx, Gy value after step distribution) obtain leftmost side node leftnode, rightmost side node rightnode, top side node Upnode and lower side node downnode, then according to the location information of this four nodes, institute can be stored by calculating one There are the line number and columns (line number=downnode.Gy- of the grid (grid is not present in the actual process) of node Upnode.Gy+1, columns=rightnode.Gx-leftnode.Gx+1), then according to the line number of grid, columns and current behaviour Make interface visual region (such as Figure 30) width, it is high calculate determine each cell in grid size (subtract 90 herein and be in order to Calculate the beauty of interface shape and display position that lateral vertical scroll bar occupies).
Cell width=(operation interface viewable portion width -90)/grid column number
Cell height=(operation interface viewable portion height -90)/grid number of lines
Due to mesh row, column number, the numerical value such as width, the height at interface are not identical, so list obtained by calculation The width and height of first lattice be not identical, but each cell must be square, so in selecting unit lattice width, height most Side length of the small value as cell.For the terseness that graphics calculations and correlation are arranged, the side length of cell is also required herein For 8 multiple, so if not 8 multiple, then also to carry out primary adjustment downwards after obtaining cell side length.Figure Drawing the other correlations needed can determine that there are also particular/special requirements for these values according to cell size, not make herein It limits.
If the side length of the cell calculated, less than 24, side length is minimized 24, and such figure cannot be complete It is shown in visible area, system adds up-down scroll bar automatically to expand visible area range at this time.
Each size of node is finally determined after the completion of previous step, and according to these information, can be with It obtains needing two values to be used in subsequent index node, (column of grid originate to be sat GridStartingCoordinateX Mark) and GridStartingCoordinateY (start of line coordinate of grid), the two values are grid top left co-ordinate.It is counted Calculation method:
GridStartingCoordinateX=operating area width/2- grid column number/2* sizing grid
GridStartingCoordinateY=operating area height/2- grid number of lines/2* sizing grid
In this way, can guarantee entire grid in the center in whole operation region.
If cell side length is 24, next need to carry out border detection, to determine whether grid has exceeded behaviour Make region.Using cell side length respectively multiplied by the line number of grid and columns can calculate region shared by grid height and Width gives excess of export if the width in region shared by grid or height exceed the width or height of operating area in calculated result The prompt on boundary out, and the destination node of this operation addition is deleted, complete rollback.Destination node is added at this time Among NodeList, but boundary can be just only seen if fall out after completing grid line number, columns calculates, so if here Border detection after the completion of, discovery figure have exceeded operating area, then need to carry out rollback.
After border detection passes through, Gx, Gy coordinate of node are adjusted, needs exist for each of traversal NodeList section Point, and mesh coordinate Gx, the Gy of node are reset, the Gy value for needing exist for guaranteeing that the Gx value of leftnode is 0, upnode is 0, and it is 3 that the Gx spacing of each node, which is 2, Gy spacing,.
Finally grid array Gridding, the line number phase of the first dimension size and grid are created according to the ranks number of grid Together, the second dimension is identical as grid columns, the node Id for the node stored in the grid that the element in grid array saves (Gridding [Node.Gy, Node.Gx]=Node.Id), in this way can be after mouse clicks some node, according to click The coordinate of position, and the node that can be obtained the Id of node by this following conversion method, and then be clicked.Specific method For:
One-dimensional index=(mouse click location X-coordinate-GridStartingCoordinateX)/sizing grid
2-d index=(mouse click location Y coordinate-GridStartingCoordinateY)/sizing grid
Node Id=Gridding [one-dimensional index, 2-d index]
(process below is only the calculating of correlation, the figure drawn here to the overall flow of these steps as follows above Shape is the demonstration of an implementation procedure, may not occur these following figures under actual conditions):
Upnode, leftnode, rightnode, downnode are obtained according to the value of first sub-distribution, and is calculated needed for grid Number of lines, the column number wanted.Shown in Figure 30 it is one and Gx, Gy (has been only completed according to the figure that preliminary Gx, Gy value is drawn here Preliminary distribution, so figure is integrally not in visible area, while the correlation of each node size does not also carry out Setting, this figure are only used as a signal, and the grid line number being calculated in this figure is 10, columns 14).
According to width, the height of grid number of lines, column number and visible area that above-mentioned steps obtain, each cell is determined It needs to carry out border detection if cell side length is 24 with the size of node correlation (table 6).Figure 31 is that the process is completed Draw afterwards schematic diagram (after the completion of this step, it has been determined that the position of final graphics storage and each size of node, in figure The grid of label be calculating process used in grid, be used as signal, the grid in the actual process and be not present).
The value for adjusting Gx, Gy of each node enables figure adjusted to be stored among virtual grid completely.Figure 32 be the schematic diagram after the completion of the process.
Grid array is generated, and stores the id of node in grid array, Figure 33 is that the node in grid array stores feelings Condition.
Third draws node
The all information for drafting is contained in each node.These relevant informations are read, and pass through drawing function These information are shown to be exactly work that this is partially completed in the form of images.Here on the object of a Graphic It is drawn (object is created when creating pedigree chart), image, text for drawing here etc. are the correlations by Graphic What method was completed.
For information such as drawing images firstly the need of the position for obtaining drawing.Under the position that the node of each is drawn passes through This method of face is converted (Gx, Gy are converted to coordinate for node grid position):
X-coordinate=node .Gx*GridSize+MarginSize+GridStartingCoordinateX;
Y coordinate=node .Gy*GridSize+MarginSize+GridStartingCoordinateY;
When drawing the icon of node, icon information is obtained, combines corresponding figure using drawing function.If drawn Node is the node (present node Id is SelectedNodeID) currently chosen, then to draw the check boxes of the node.It draws Present node and relationship node are connected using line drawing method when node connecting line processed.Text and knot removal prompt Etc. information also according to the method described above, draw related content in corresponding position.
In addition, it can include the operation of deletion of node draws new family tree to adjust current genealogical relationship.
Knot removal refers to currently node and associated node being chosen to delete, and when different type knot removal is same Sample can generate different influences, it then follows different rules.When deleting only child nodes, generating one, there is no children to save Point but there are the figure of man and wife's node, this figure may be undesirable in the planning of practical pedigree, therefore while deleting needs The deletion of node list of foundation includes two parts:1. node is currently chosen 2. to choose the associated nodes of node.This deletion mode It can be to avoid there is the phenomenon that undesirable family tree after knot removal.
Two initial pedigree nodes can not be deleted, and in addition to this, whens other knot removals needs to follow following 3 kinds of rule Then.
First, when deleting child nodes, if needing to delete simultaneously currently there is only this deleted child nodes Except the man and wife's node generated when creating the child nodes, as shown in figure 34, deletion of node E and node D.If existed simultaneously multiple Child nodes only delete the child nodes, as shown in figure 35, deletion of node N.
Second, when deleting man and wife's node, while deleting whole child nodes.As shown in figure 36, deletion of node D, node E and Node N.
Third, when the node deleted is ancestors' type node, it will delete first layer to all of layer where the deletion of node Node and its child nodes.As shown in figure 37, when deletion of node C, will be deleted first layer Q, O, P ... and second node layer A, B, C, whole child nodes J, R, Y of N, J, R and node E and F.
It will be illustrated below by several examples.
As shown in figure 38, the node with wire is deleted, man and wife's node and child nodes can be all deleted.
As shown in figure 39, deletion ancestors' type node N, all ancestors' type nodes of layer where the node N to be deleted and N's All children and its man and wife's node can be all deleted.
As shown in figure 40, lowest level child nodes are deleted, the node of the rightmost side in the child parent is deleted.
As shown in figure 41, man and wife's node is deleted, child can also be deleted.
Certainly, in some other implementations, it is contemplated that can may also have conjugal relation really, but be saved without child The case where point.When therefore, it is necessary to delete only child nodes, man and wife's node can also be retained, that is, form one and child is not present Node and there are the figure of man and wife's node, to adapt to the demand of certain pedigrees applications, be not limited thereto.
After deletion of node, the node and the associated nodes corresponding JXNode in NodeList will be deleted, this causes Remaining node relative position changes in NodeList, it is therefore desirable to do following three step again:1. constructing the first step of node It sets;2. grid generation, border detection and node location integrated regulation;3. drawing node.
In addition, as shown in figure 42, each node in family tree has attribute, such as label, marriage relationship, brother Relationship, symbol etc..
The pedigree drawing drawing method that the embodiments of the present invention provide, realizes a kind of rapid build algorithm of family tree, The family tree of building can not only be used for electronic device information handling implement grinding for fields such as science of heredity, anthropology and general family medicines Study carefully, specialized health information system, community sanitation service information system, MIS of Department Files, population pipe can also be embedded into It is applied in the systems such as reason information system, the family tree that improves of high degree draws efficiency and using intelligence degree.
Referring to fig. 43, for the structural schematic diagram for the family tree drawing apparatus that one embodiment of the invention provides.As shown in figure 43, The family tree drawing apparatus 4300 includes:
Genealogical relationship obtains module 4301, for obtaining the genealogical relationship between destination node and base node;
Node memory module 4302, for inciting somebody to action according to the genealogical relationship between the destination node and the base node To first list, the coordinate data of the base node has been stored in advance in the first list for destination node storage;
Coordinate data obtains module 4303, for obtaining coordinate data of the destination node in the first list;
Drafting module 4304, according to coordinate data of the destination node in the first list and the target section Genealogical relationship between point and the base node, draws corresponding family tree.
Optionally, the family tree drawing apparatus can also include:
Start node creation module, for creating start node, wherein the base node be the start node in There are the nodes of direct genealogical relationship for the destination node.
Optionally, the start node includes the first start node and the second start node;
The start node creation module is used for:
Create first start node;
By first start node storage to the first list;
Obtain the genealogical relationship between second start node and first start node;
Initially according to the genealogical relationship and described first between second start node and first start node Coordinate data of the node in the first list, by second start node storage to the first list.
Optionally, the genealogical relationship between second start node and first start node includes:Described second Start node is the parent node of first start node, alternatively, second start node is first start node Child nodes, alternatively, second start node be first start node man and wife's node;
The node memory module 4302 is used for:
If second start node is the parent node of first start node, second start node is stored In the first list, positioned at the position of the first start node lastrow of the row;Alternatively,
If second start node is the child nodes of first start node, second start node is stored In the first list, positioned at the position of the first start node next line of the row;Alternatively,
If second start node is man and wife's node of first start node, second start node is stored In the first list, first start node institute in the line, the backward adjacent position with first start node.
Optionally, the destination node and the genealogical relationship of the base node include:It is saved based on the destination node The man and wife's node or the destination node of point are the child nodes of the base node;
The node memory module is also used to:
If the destination node is man and wife's node of the base node, by destination node storage to the base section Point institute in the line, with after the base node to adjoining position;Or
If the destination node is the child nodes of the base node, the destination node is stored in the first row In table, positioned at the position of start node next line of the row.
Optionally, the type of the base node includes:Ancestors' type node and non-ancestors' type node;
If the base node is non-ancestors' type node;
The destination node be the base node child nodes the case where include:The destination node is the basis The first child node or the destination node of node are the non-first child node of the base node;
The node memory module is also used to:
If the destination node is the first child node of the base node, the destination node is added to described In base node next line of the row, it is located at target front position, wherein the target front position includes the base section The position of front end in point next line of the row;Or
If the destination node is the non-first child node of the base node, the destination node is added to institute State in base node next line of the row, with after the last one already existing child nodes of the base node to adjacent Position.
Optionally, the type of the base node includes:Ancestors' type node and non-ancestors' type node;
If the base node is non-ancestors' type node;
The node memory module is also used to:
If during the base node is expert at, there is the forward direction node before the base node, and the forward direction There are child nodes for node, then by the destination node be stored in after the last one child nodes of the forward direction node to neighbour The position connect;
If during the base node is expert at, there is no the forward direction nodes before the base node, or exist Forward direction node before the base node, and child nodes are not present in the forward direction node, then by the destination node There are the positions of base node next line front end of the row.
Optionally, the type of the base node includes:Ancestors' type node and non-ancestors' type node;
If the base node is ancestors' type node, the base node has a first child nodes, the target Node is second child nodes of the base node;
The base node is divided into outermost side gusset and medial node according to affiliated edge type, the base node Direction belonging to position is first direction or second direction;
The node memory module is also used to:Determine that base node next line of the row exists along target direction Outermost side gusset, wherein the target direction is the first direction or second direction;
Determine that base node next line of the row has the outermost side gusset along target direction, wherein the mesh Marking direction is the first direction or second direction;
If the outermost side gusset is along the target direction, there are lateral nodes, and the priority of the lateral node is small In the parent node of the priority of the destination node or the side gusset be not ancestors' type node, then by the target Node is stored in after the lateral node to adjoining position;
If the outermost side gusset is along the target direction, there is no lateral nodes or the outermost side gusset described in There are lateral nodes for target direction, and the priority of the lateral node is greater than the priority of the destination node, and the outside The parent node of node is ancestors' type node, then the destination node is stored in base node next line edge of the row The outermost locations of the target direction.
Destination node is first added to when drawing family tree by family tree drawing apparatus provided in an embodiment of the present invention In one list, existing genealogical relationship between node and node present in pedigree is recorded by the first list.Again According to storage location of the node in first list, corresponding family tree is drawn.In this way, can be by whole nodes according to setting in advance Fixed rule storage, and family tree is drawn automatically according to the data of storage, improve the accuracy and convenience of family tree drafting. The specific implementation process of family tree drawing apparatus provided in an embodiment of the present invention, may refer to family tree provided by the above embodiment The specific implementation process of method for drafting, repeats no more.
The embodiment of the present invention further relates to a kind of electronic equipment, including memory, processor and is stored on the memory And the computer program that can be run on the processor, the processor realize such as above-mentioned reality when executing the computer program The pedigree drawing drawing method of example offer is provided.
Electronic equipment provided in an embodiment of the present invention can execute the family tree drafting side provided such as above-mentioned any embodiment Method, this is no longer going to repeat them.
The embodiment of the present invention is described with above attached drawing, but the invention is not limited to above-mentioned specific Embodiment, the above mentioned embodiment is only schematical, rather than restrictive, those skilled in the art Under the inspiration of the present invention, without breaking away from the scope protected by the purposes and claims of the present invention, it can also make very much Form belongs within protection of the invention.

Claims (10)

1. a kind of pedigree drawing drawing method, which is characterized in that including:
Obtain the genealogical relationship between destination node and base node;
According to the genealogical relationship between the destination node and the base node, by destination node storage to first row The coordinate data of the base node has been stored in advance in table, the first list;
Obtain coordinate data of the destination node in the first list;
According to coordinate data of the destination node in the first list and the destination node and the base node Between genealogical relationship, draw corresponding family tree.
2. the method according to claim 1, wherein the pedigree obtained between destination node and base node Before the step of relationship, the method also includes:
Create start node, wherein the base node is that there are direct pedigrees with the destination node in the start node The node of relationship.
3. according to the method described in claim 2, it is characterized in that, at the beginning of the start node includes the first start node and second Beginning node;
The step of creation start node, including:
Create first start node;
By first start node storage to the first list;
Obtain the genealogical relationship between second start node and first start node;
According to the genealogical relationship and first start node between second start node and first start node Coordinate data in the first list, by second start node storage to the first list.
4. according to the method described in claim 3, it is characterized in that, second start node and first start node it Between genealogical relationship include:Second start node is the parent node of first start node, alternatively, at the beginning of described second Beginning node is the child nodes of first start node, alternatively, second start node is first start node Man and wife's node;
The genealogical relationship and first start node according to second start node and first start node Coordinate data in the first list, the step of by second start node storage to the first list, including:
If second start node is the parent node of first start node, second start node is stored in institute It states in first list, positioned at the position of the first start node lastrow of the row;Alternatively,
If second start node is the child nodes of first start node, second start node is stored in institute It states in first list, positioned at the position of the first start node next line of the row;Alternatively,
If second start node is man and wife's node of first start node, second start node is stored in institute State in first list, first start node institute in the line, the backward adjacent position with first start node.
5. according to the method described in claim 4, it is characterized in that, the genealogical relationship of the destination node and the base node Including:The destination node is that man and wife's node of basic node or the destination node save for the child of the base node Point;
The genealogical relationship according between the destination node and the base node, by destination node storage to first The step of list, including:
If the destination node is man and wife's node of the base node, by destination node storage to the base node institute In the line, with after the base node to adjoining position;Or
If the destination node is the child nodes of the base node, the destination node is stored in the first list In, positioned at the position of start node next line of the row.
6. according to the method described in claim 5, it is characterized in that, the type of the base node includes:Ancestors' type node and Non- ancestors' type node;
If the base node is non-ancestors' type node;
The destination node be the base node child nodes the case where include:The destination node is the base node First child node or the destination node be the base node non-first child node;
If the destination node is the child nodes of the base node, the destination node is stored in the first row In table, the step of positioned at the position of start node next line of the row, including:
If the destination node is the first child node of the base node, the destination node is added to the basis In node next line of the row, it is located at target front position, wherein the target front position includes the base node institute The position of front end in the next line being expert at;Or
If the destination node is the non-first child node of the base node, the destination node is added to the base In plinth node next line of the row, with after the last one already existing child nodes of the base node to adjacent position It sets.
7. if according to the method described in claim 6, it is characterized in that, the destination node is the of the base node The destination node is added to the target front position in base node next line of the row by one child nodes Step, including:
If during the base node is expert at, there is the forward direction node before the base node, and the forward direction node There are child nodes, then by the destination node be stored in after the last one child nodes of the forward direction node to adjacent Position;
If during the base node is expert at, there is no the forward direction nodes before the base node, or exist and be located at Forward direction node before the base node, and child nodes are not present in the forward direction node, then there is the destination node The position of the base node next line front end of the row.
8. according to the method described in claim 5, it is characterized in that, the type of the base node includes:Ancestors' type node and Non- ancestors' type node;
If the base node is ancestors' type node, the base node has a first child nodes, the destination node For second child nodes of the base node;
The base node is divided into outermost side gusset and medial node, the position of the base node according to affiliated edge type Affiliated direction is first direction or second direction;
If the destination node is the child nodes of the base node, the destination node is stored in the first row In table, the step of positioned at the position of start node next line of the row, including:
Determine that base node next line of the row has the outermost side gusset along target direction, wherein the target side To for the first direction or second direction;
If the outermost side gusset is along the target direction, there are lateral nodes, and the priority of the lateral node is less than institute The parent node of the priority or the side gusset of stating destination node is not ancestors' type node, then by the destination node It is stored in after the lateral node to adjoining position;
If the outermost side gusset is along the target direction, there is no lateral nodes or the outermost side gusset along the target There are lateral nodes in direction, and the priority of the lateral node is greater than the priority of the destination node, and the lateral node Parent node be ancestors' type node, then the destination node is stored in base node next line of the row described in The outermost locations of target direction.
9. a kind of family tree drawing apparatus, which is characterized in that including:
Genealogical relationship obtains module, for obtaining the genealogical relationship between destination node and base node;
Node memory module, for according to the genealogical relationship between the destination node and the base node, by the target To first list, the coordinate data of the base node has been stored in advance in the first list for node storage;
Coordinate data obtains module, for obtaining coordinate data of the destination node in the first list;
Drafting module, according to coordinate data of the destination node in the first list and the destination node with it is described Genealogical relationship between base node draws corresponding family tree.
10. a kind of electronic equipment, which is characterized in that including memory, processor and be stored on the memory and can be in institute The computer program run on processor is stated, the processor is realized when executing the computer program as in claim 1 to 8 Described in any item pedigree drawing drawing methods.
CN201810514763.6A 2018-05-25 2018-05-25 Method and device for drawing spectrum and electronic equipment Active CN108921914B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810514763.6A CN108921914B (en) 2018-05-25 2018-05-25 Method and device for drawing spectrum and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810514763.6A CN108921914B (en) 2018-05-25 2018-05-25 Method and device for drawing spectrum and electronic equipment

Publications (2)

Publication Number Publication Date
CN108921914A true CN108921914A (en) 2018-11-30
CN108921914B CN108921914B (en) 2022-10-28

Family

ID=64410106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810514763.6A Active CN108921914B (en) 2018-05-25 2018-05-25 Method and device for drawing spectrum and electronic equipment

Country Status (1)

Country Link
CN (1) CN108921914B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609927A (en) * 2019-09-24 2019-12-24 厦门市美亚柏科信息股份有限公司 Visual family tree layout method, terminal device and storage medium
CN113704943A (en) * 2021-09-10 2021-11-26 京东科技信息技术有限公司 Node topological graph layout method and device, computer storage medium and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025760A (en) * 2007-01-31 2007-08-29 王宏源 Method for digitalizing family tree
US20150039636A1 (en) * 2013-03-08 2015-02-05 Brigham Young University Systems and methods for intelligently linking and formatting genealogical structures
CN106445931A (en) * 2015-08-04 2017-02-22 阿里巴巴集团控股有限公司 Database node association relationship display method and apparatus
CN106484408A (en) * 2016-09-29 2017-03-08 电子科技大学 A kind of node relationships figure display methods based on HTML5 and system
CN107357846A (en) * 2017-06-26 2017-11-17 北京金堤科技有限公司 The methods of exhibiting and device of relation map

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025760A (en) * 2007-01-31 2007-08-29 王宏源 Method for digitalizing family tree
US20150039636A1 (en) * 2013-03-08 2015-02-05 Brigham Young University Systems and methods for intelligently linking and formatting genealogical structures
CN106445931A (en) * 2015-08-04 2017-02-22 阿里巴巴集团控股有限公司 Database node association relationship display method and apparatus
CN106484408A (en) * 2016-09-29 2017-03-08 电子科技大学 A kind of node relationships figure display methods based on HTML5 and system
CN107357846A (en) * 2017-06-26 2017-11-17 北京金堤科技有限公司 The methods of exhibiting and device of relation map

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孔涛等: "故障树自动生成系统的树图布局算法研究", 《中国安全科学学报》 *
陶午沙等: "一种基于模糊信息融合的Prim算法及应用", 《系统工程与电子技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609927A (en) * 2019-09-24 2019-12-24 厦门市美亚柏科信息股份有限公司 Visual family tree layout method, terminal device and storage medium
CN110609927B (en) * 2019-09-24 2022-02-15 厦门市美亚柏科信息股份有限公司 Visual family tree layout method, terminal device and storage medium
CN113704943A (en) * 2021-09-10 2021-11-26 京东科技信息技术有限公司 Node topological graph layout method and device, computer storage medium and electronic equipment
CN113704943B (en) * 2021-09-10 2024-04-05 京东科技信息技术有限公司 Node topological graph layout method and device, computer storage medium and electronic equipment

Also Published As

Publication number Publication date
CN108921914B (en) 2022-10-28

Similar Documents

Publication Publication Date Title
US20200336387A1 (en) Topological map presentation system, topological map presentation method, and computer readable recording medium
US6952208B1 (en) Method for displaying supersets of node groups in a network
US8237716B2 (en) Algorithm for drawing directed acyclic graphs
CN100405363C (en) Using continuous optimization for ordering categorical data sets in a data processing system
US9128998B2 (en) Presentation of data object hierarchies
EP1571566A2 (en) Hierarchical database apparatus, components selection method in hierarchical database, and components selection program
EP1088281A1 (en) Method and system for visualization of clusters and classifications
CN108921914A (en) A kind of pedigree drawing drawing method, device and electronic equipment
Bothorel et al. Visualization of frequent itemsets with nested circular layout and bundling algorithm
JP2007265031A (en) Dictionary content processor, content display system and content display method
CN108151744A (en) Indoor navigation system based on A-STAR algorithms
CN108108194A (en) User interface edit methods and user interface editing machine
CN103559318B (en) The method that the object containing heterogeneous information network packet is ranked up
US6014679A (en) Item selecting apparatus in a system for browsing items for information
Westerberg et al. Computer-Aided Design, Part 2 An approach to convergence and tearing in the solution of sparse equation sets
CN109815239A (en) A kind of method of combination ECharts creation relation map
KR101509926B1 (en) Packaged searching system and method of the same
CN107292288B (en) Method and device for extracting characteristic line supporting annular terrain and electronic equipment
Datta et al. An efficient algorithm for computing the maximum empty rectangle in three dimensions
Dellamonica et al. Distance preserving Ramsey graphs
CN108255869B (en) Indoor map drawing method and device
Slack et al. PRISAD: A partitioned rendering infrastructure for scalable accordion drawing
US8856059B2 (en) Inference device and inference method
JP6385033B2 (en) System, method, map server, terminal, and program for controlling display of divided map image according to enlargement ratio
Dumitrescu et al. Light orthogonal networks with constant geometric dilation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant