|
rbmatlab 0.10.01
|
a geometric tree where every nodes has geometry information attached.
-time in which node's geometry a certain coordinate lies.The nodes store the following information:
0 indicating a leaf nodencoords coordinates describing the node's geometry.So every node has a size of 1 + ncoords * dimension.
We distinguish between three enumerations of nodes:
Definition at line 1 of file XPartMap.m.
Public Member Functions | |
| function XPartMap copy = | copy () |
| deep copy for an XPartMap instance | |
| XPartMap ( dimension, ncoords, init_coords, level1_splits) | |
| constructor creating an XPartMap with one single root node. | |
| function elems = | coords2elem ( tcoords) |
| returns element IDs of leaf nodes whose geometries host the given coordinates. | |
| function
new_vec = | split ( iind, split_point) |
| default implementation for the splitting of one node's geometry | |
| function [
changed_ids , new_ids ] = | refine ( iinds, split_points) |
| refines nodes given by indices at given points | |
| function bary = | barycenter ( iind) |
| computes the barycenter of a node's geometry | |
| function yes = | intersect ( coords, iind) |
| checks whether a geometric entity intersects with another one given by a node's ID | |
| function ok = | is_inside ( coord, iind) |
| checks whether a given coord lies in a node's geometry | |
| function [
XPartMap sxm , old_leaf_enum ] = | sub_xpart_map ( coords) |
creates new object holding a subset of the current XPartMap lying in the region specified by coords | |
| function coords = | get_coords ( iind) |
| helper function rearranging the vector of node coordinates into a matrix with row vectors as coordinates. | |
Static Public Member Functions | |
| static function ce = | crop_entity ( coords1, coords2) |
| helper function computing the actual intersection of two geometries given by their coordinates. | |
Public Attributes | |
| dimension = 1 | |
| dimension of geometries | |
| ncoords = 2 | |
| number of coordinates defining a geometry | |
| intervals = "[0 0 1]" | |
| actual tree with attached geometries | |
| split_size = 2 | |
| integer specifying how many children are created at refinement step | |
| leaf_ids = 0 | |
an unsorted enumeration of the leaf indices | |
| leaf_enum = 0 | |
a sorted enumeration of the leaf indices. | |
| refine_levels = 0 | |
| A vector which stores the refinement level for every node. | |
| siz | |
| the number of the leaf nodes | |
| skip | |
storage size of a single tree node pair (c, coords) | |
| max_level | |
| the maximum refinement level of the tree | |
| noof_ids | |
| the number of node IDs in the tree | |
| XPartMap.XPartMap | ( | dimension, | |
| ncoords, | |||
| init_coords, | |||
| level1_splits | |||
| ) |
constructor creating an XPartMap with one single root node.
| dimension | dimension of geometries |
| ncoords | number of coordinates defining a geometry |
| init_coords | initial coordinates for the root node's geometry. |
| level1_splits | level1 splits |
Definition at line 209 of file XPartMap.m.
| function bary = XPartMap.barycenter | ( | iind | ) |
computes the barycenter of a node's geometry
| iind | node ID of the node whose gemoetry's barycenter shall be computed |
| bary | coordinate vector of the barycenter. |
Definition at line 453 of file XPartMap.m.
| function elems = XPartMap.coords2elem | ( | tcoords | ) |
returns element IDs of leaf nodes whose geometries host the given coordinates.
| tcoords | n x dimension matrix of n coordinate (row) vectors for which the enclosing entity ID shall be determined. |
| elems | a n vector holding the element IDs. |
Definition at line 258 of file XPartMap.m.
| function XPartMap copy = XPartMap.copy | ( | ) |
deep copy for an XPartMap instance
| copy | the copied object |
Definition at line 189 of file XPartMap.m.
| function ce = XPartMap.crop_entity | ( | coords1, | |
| coords2 | |||
| ) | [static] |
helper function computing the actual intersection of two geometries given by their coordinates.
| coords1 | first 2 x dimension matrix of cube extreme point coordinates. |
| coords2 | second 2 x dimension matrix of cube extreme point coordinates. |
| ce | intersection of the two geometries given by the two arguments. |
Definition at line 633 of file XPartMap.m.
| function coords = XPartMap.get_coords | ( | iind | ) |
helper function rearranging the vector of node coordinates into a matrix with row vectors as coordinates.
| iind | the node's ID |
| coords | the rearranged coordinates. (ncoords x dimension matrix) |
Definition at line 617 of file XPartMap.m.
| function yes = XPartMap.intersect | ( | coords, | |
| iind | |||
| ) |
checks whether a geometric entity intersects with another one given by a node's ID
| coords | 2 x dimension matrix describing the geometric entity |
| iind | ID of other node entity |
| yes | boolean flag indicating whether the intersection exists |
Definition at line 468 of file XPartMap.m.
| function ok = XPartMap.is_inside | ( | coord, | |
| iind | |||
| ) |
checks whether a given coord lies in a node's geometry
| coord | the coordinate vector of length dimension. |
| iind | ID of node entity to check with |
| ok | boolean flag |
Definition at line 521 of file XPartMap.m.
| function [ changed_ids , new_ids ] = XPartMap.refine | ( | iinds, | |
| split_points | |||
| ) |
refines nodes given by indices at given points
| iinds | a vector of node IDs for elements that shall be refined. |
| split_points | a matrix with row vectors of points are given to the split() method as second argument. This argument is optional. (default = barycenter) |
| changed_ids | vector of the IDs of the nodes that were changed during the refinement. |
| new_ids | vector of the IDs of the nodes that were newly created during the refinement. |
Definition at line 366 of file XPartMap.m.
| function new_vec = XPartMap.split | ( | iind, | |
| split_point | |||
| ) |
default implementation for the splitting of one node's geometry
split_size is equal to 2^(dimension), the geometry is split in each of the dimension directions.split_size is equal to 2, the geometry is split in the direction where the geometry has its widest extent.| iind | the node's ID |
| split_point | an optional matrix with coordinate vectors specifying where the geometry shall be split. (default=barycenter) |
| new_vec | vector with coordinates of new geometries. |
Definition at line 312 of file XPartMap.m.
| function [ XPartMap sxm , old_leaf_enum ] = XPartMap.sub_xpart_map | ( | coords | ) |
creates new object holding a subset of the current XPartMap lying in the region specified by coords
| coords | a 2xdimension matrix describing the region in which all the nodes of the resulting XPartMap shall lie. |
| sxm | an object holding a subset of the current map. |
| old_leaf_enum | old leaf enum |
intervals — intervals refine_levels — refine levels leaf_ids — leaf ids leaf_enum — leaf enum Definition at line 546 of file XPartMap.m.
| XPartMap.intervals = "[0 0 1]" |
actual tree with attached geometries
This stores a list of pairs (c, coords) of the index of the first child c and the geometry coordinates coords. If c is equal to 0, the node is a leaf node. The first pair is the root node of the tree.
Default: "[0 0 1]"
Definition at line 60 of file XPartMap.m.
a sorted enumeration of the leaf indices.
This set is constructed by a deep traversal of the tree, with left-to-right enumeration of leafs.
Default: 0
Definition at line 93 of file XPartMap.m.
an unsorted enumeration of the leaf indices
If a leaf has not been refined, it keeps its position in this set.
Default: 0
Definition at line 82 of file XPartMap.m.
the maximum refinement level of the tree
Dependent set to true. Definition at line 138 of file XPartMap.m.
| XPartMap.ncoords = 2 |
the number of node IDs in the tree
Dependent set to true. Definition at line 149 of file XPartMap.m.
A vector which stores the refinement level for every node.
Default: 0
Definition at line 105 of file XPartMap.m.
the number of the leaf nodes
Dependent set to true. Definition at line 116 of file XPartMap.m.
storage size of a single tree node pair (c, coords)
Dependent set to true. Definition at line 127 of file XPartMap.m.
integer specifying how many children are created at refinement step
Default: 2
Definition at line 73 of file XPartMap.m.
1.7.4