 Original Article
 Open Access
 Published:
An efficient data structure for calculation of unstructured Tspline surfaces
Visual Computing for Industry, Biomedicine, and Art volume 2, Article number: 2 (2019)
Abstract
To overcome the topological constraints of nonuniform rational Bsplines, Tsplines have been proposed to define the freeform surfaces. The introduction of Tjunctions and extraordinary points makes it possible to represent arbitrarily shaped models by a single Tspline surface. Whereas, the complexity and flexibility of topology structure bring difficulty in programming, which have caused a great obstacle for the development and application of Tspline technologies. So far, research literatures concerning Tspline data structures compatible with extraordinary points are very scarce. In this paper, an efficient data structure for calculation of unstructured Tspline surfaces is developed, by which any complex Tspline surface models can be easily and efficiently computed. Several unstructured Tspline surface models are calculated and visualized in our prototype system to verify the validity of the proposed method.
Introduction
With a series of excellent mathematical and algorithmic properties, nonuniform rational Bsplines (NURBS) has been widely used in the field of computer aided geometric design for representing curves and surfaces. Nevertheless, in modern industry, complex engineering models comprised of multiple NURBS patches are always not watertight because of the existence of gaps and overlaps along the interfaces of trimmed NURBS surfaces. Thus, Tsplines were firstly proposed by Sederberg et al. [1, 2] in 2003 to conquer the limitations of NURBS in practical engineering applications.
As a generalization of NURBS, Tsplines introduce Tjunctions and extraordinary points into its control mesh. Theoretically, a Tspline surface can represent any arbitrarily shaped model no matter how complicated its topology structure is. Compared with NURBS, the advantages of Tsplines can be reflected in the following aspects. Firstly, a NURBS surface is defined in a rectangular topological grid. It requires a large number of superfluous control points to maintain the topological shape while implementing refinement. This shortcoming can be overcome by Tsplines which can achieve local refinement without introducing an entire row of control points. In addition, it is difficult to represent a complex model with a single NURBS surface and the gaps along the common boundary of two NURBS surfaces are unavoidable. Tsplines provide a promising way to breakdown these barriers. In ref. [3], multiple trimmed NURBS patches are merged into a single watertight Tspline surface. Li et al.[4] studied the linear independence of Tspline blending functions and proposed the notion of analysissuitable Tsplines. Analysissuitable Tsplines satisfy a simple topological requirement and their blending functions are linear independent [4,5,6]. So far, Tsplines have been used in many fields such as geometric modeling [7,8,9], isogeometric analysis [10,11,12,13,14,15] and shape optimization [16,17,18].
In complex Tspline models, the extraordinary points are always indispensable. Tsplines containing extraordinary points are called the unstructured Tsplines [14]. When encountering an unstructured Tspline surface, the knot interval vectors about the vertexes around the extraordinary points are ambiguous. More details about the concept of extraordinary points are presented in section 2. Some methods have been developed to deal with the problems caused by extraordinary points [14, 19, 20]. In the template method proposed by Wang et al. [19], gapfree Tspline surfaces are generated by inserting zerointerval edges around the extraordinary points. Liu et al. [20] proposed a knot interval duplication and optimization method to obtain local knot vectors. In ref. [14], Scott et al. introduced a linear interpolation scheme to calculate Bézier control points from Tspline control points, which is easy to understand and implement.
Since Tspline surfaces have flexible topology, constructing a robust and efficient data structures of Tsplines for storing and further data processing is a challenging topic. Asche et al. [21] presented a Tspline data structure implementation based on a halfedge (HE) data structure and implemented the algorithms with CGAL geometry programming library. Lin et al. [22] developed the socalled extended Tmesh which can be represented in an objlike format file and converted into the faceedgevertex data structure conveniently. With this method, each vertex in the extended Tmesh has a knot coordinates, which cannot solve the situtation with extraordinary points. Xiao et al. [23] also proposed a set of new Tspline data models to obtain better data storing and operating efficiencies. However, all the Tspline data structures mentioned above cannot deal with the Tsplines with extraordinary points, i.e., unstructured Tsplines. To the best knowledge of the authors, there are no public research papers or open sources which directly present the suitable approaches to handle the unstructured Tsplines from a view of programming implementation.
In this paper, a new data structure for the unstructured Tsplines is proposed. An efficient local parameterization algorithm which can accelerate the computation of Tspline surface is also presented. Finally, several testing examples of unstructured Tsplines are demonstrated to show the validity of the proposed data structures and algorithm.
The rest of the paper is organized as follows. In section 2, we give a brief introduction of Tsplines and explain the concept of extraordinary points. Section 3 is devoted to present the new data structure. In section 4, we give the local parameterization algorithm. Finally, complicated Tspline models are demonstrated in section 5.
Tsplines
A brief introduction of Tsplines is reviewed in this section. We give a description of some symbols and notations appear below as well. In this paper, we only consider bicubic Tsplines.
Tmesh
The Tmesh that contains the underlying topology information is a fundamental concept of a Tspline surface.
As the example shown in Fig. 1, a Tmesh is composed of faces, edges and vertexes. For bicubic Tsplines, a control point and related weight are aligned to each vertex in the Tmesh. The Tjunctions such as P_{1} and P_{2} in Fig. 1 make the topological structure of Tsplines very flexible. After a valid knot interval configuration being assigned to the edges, the topology information of Tsplines is determined.
Tspline blending function
Each vertex in a Tmesh corresponds to a Tspline blending function. We can construct the blending function from the knot interval sequences inferred from the Tmesh. These knot interval sequences are called local knot interval vectors.
The principles about how to deduce the local knot interval vectors from the Tmesh are presented in refs. [24, 25] in detail. In summary, as the brown lines shown in Fig. 2, marching through the Tmesh in four different topological directions until two vertices or perpendicular edges are detected, the knot interval vectors can be determined by the traversed distance. In normal conditions, the knot interval is set to be be 0 if a Tmesh boundary is crossed. The process of constructing local knot interval vectors for P_{1} and P_{4} is shown in Fig. 2.
As the example shown in Fig. 2, the influence domain which is called local blending function domains (the blue regions) corresponding to the control points can be defined after achieving the knot interval vectors. Then we can set up a local blending coordinate system attached to corresponding vertexes. If there exists no extraordinary point in a Tmesh, a larger global parametric coordinate system can be established which can help us compare different blending functions in a common coordinate system.
The global parametric system of the Tmesh in Fig. 1 is shown in Fig. 3. Each vertex has only one pair of corresponding parameter coordinates. However, in the unstructured Tsplines which contain extraordinary points, the situation is completely different and that is the main difficulty of constructing an efficient Tspline data structure.
The equation of a Tspline surface can be expressed as:
where P_{i} are control points, ω_{i} are weights, and N_{i} are blending functions, μ and ν are knot values.
Extraordinary points
In some Tspline models such as the cube shown in Fig. 4, the existence of extraordinary points is inevitable. There are eight extraordinary points on the corners of the cube.
In a Tmesh, the valence of a vertex is the number of edges that touch the vertex. As the Tmesh shown in Fig. 2, the Tjunctions P_{1} and P_{2} have three valences. The definition of extraordinary point is that an interior vertex that is not a Tjunction and of which the valence is not equal to 4 [14]. Spoke edge is the edge connected to the extraordinary point. The onering neighborhood of a vertex refers to the Tmesh faces which touch the vertex. The faces that touch the onering neighborhood form the corresponding vertex’s tworing neighborhood. The Tmesh around the extraordinary point in the purple region in Fig. 4 is shown in Fig. 5.
In Fig. 5, the valence of the extraordinary point marked by purple circle is 3. The onering neighborhood is represented by yellow and the tworing neighborhood is represented by green. From the unstructured Tmesh, we can see that it is impossible to set up a common global coordinate system due to the existence of the extraordinary point, which brings problems to the knot interval vectors definition in their neighborhood.
Data structure for unstructured Tsplines
Owing to the fact that extraordinary points are unavoidable in complicated models, we should reconsider the existing Tspline data structures because with extraordinary point appearing it is impossible to assign each vertex a parameter coordinate in a common global parametric coordinate system.
The new data structure we proposed is inspired by the classical HE data structures. Since this data structure provides efficient retrieval of the topological information associated with the mesh, we can make some modifications to it to meet the requirements of storage and computation of the unstructured Tsplines.
The schematic of the proposed data structure (Table 1) is illustrated in Fig. 6. The face marked in yellow region in the upper Tmesh is composed of five HE. The HEs are denoted by colorful arrows and the green lines represent edges. An edge corresponds to two opposite HEs. Each HE starts from a vertex. What calls for special attention is that in the unstructured Tmesh, a HE doesn’t have a specific direction and a vertex doesn’t have a corresponding global parameter coordinate. This is the main difference between the proposed data structure and those constructed in a global coordinate system.
To facilitate the calculation of the faces in an unstructured Tmesh, a local coordinate system is established for each face. As the example shown in Fig. 6, the HE denoted by yellow is chosen to act as the u direction of the face coordinate system. To make the calculation of the faces more convenient, we can choose any HEs denoted by a black arrow inside the face to set up the face parametric coordinate system, with the exception of the one starts from a Tjunction (the HE denoted by blue in Fig. 6).
In order to save intime computations of the Tspline surface, some redundant data or pointers are stored in the data structure. In order to search the vertexes that have an impact on the faces in the Tmesh, it is essential to select a HE to set up a local blending coordinate system for each vertex (such as the local blending coordinate system of P_{3} in Fig. 6). For the faces, the infected vertexes and their relative coordinates in face coordinate systems are stored in the data structure.
Computation of the unstructured Tsplines
An efficient data structure must not only be flexible for data storing but also suitable for the development of related algorithms. In this section, we present an efficient algorithm for the computation of the unstructured Tsplines based on the proposed data structure.
Because the faces in a Tmesh have onetoone mapping relations with the patches in a Tspline surface, we can tessellation the Tspline surface face by face. The computation of the Tspline surfaces can be summarized as the following steps.
Step 1: Load the Tspline models. In this paper, the Tspline models are constructed in Rhinoceros and saved as TSMfiles.
Step 2: Construct the Tspline data structures.
Step 3: For each vertex, establish a local blending coordinate system in the parametric domain after obtaining the local knot interval vectors, as the example shown in Fig. 2.
Step 4: Find all the faces that overlap the local parametric domain of the vertex. Then obtain the coordinate of the vertex in different face parametric coordinate systems.
Step 5: For each face find in step 4, add the vertex and coordinate into the face data structure.
Step 6: Compute the Tspline surface face by face by the computation formula.
In the unstructured Tsplines, most of the time is spent on step 4 during the surface computation due to the lack of a global parametric coordinate system. Here we give an efficient algorithm called local parameterization (Table 2) which can improve the efficiency of the calculation of Tspline surfaces.
The main idea of the local parameterization algorithm is to traverse all faces in the local blending function domain of each vertex and then obtain the coordinate of the specific vertex in face coordinate systems. In the algorithm, the whole traversal process of the domain is realized from four directions represented by eight HEs. These HEs can be obtained during the procedure of obtaining the local knot interval vectors. If the vertex is a Tjunction such as P_{1} shown in Fig. 7, we should change the virtual HE marked by red dashed arrows to the black solid arrows. The eight arrows (in black) are the initial HEs.
To complete the traverse process, if a halfedge HE is popped from the stack S in line 3 of the algorithm, we should judge whether the face F it belongs to overlap the blending function domain D_{i} of the vertex P_{i}. In that case, the vertex P_{i} and its coordinate in face F’s coordinate system should be added into the data structure of F firstly. Then the halfedges called upperHEs which parallel to HE and belong to the faces above F should be pushed into the stack S. In this way, we can make sure that all faces in the blending function domain can be traversed without any omissions.
As the unstructured Tspline with an extraordinary point P_{4} shown in Fig. 8, assume that the orange arrow starting from P_{5} is the u direction of the local blending coordinate system of P_{5} and the red arrow represents the u direction of the face coordinate system denoted by yellow region. The parameter length of the two HEs marked by green and red are x and y, respectively. After the initialization, if the HE denoted by green is popped up from the stack, we can see the face (yellow region) it belongs to obviously overlap the local blending domain marked in blue. In the face coordinate system, the parametric coordinate of P_{5} is (0, x). Then P_{5} and the coordinate should be added into the face data structure because P_{5} has an effect on the calculation of the yellow face. According to the content described in line 8 of the local parameterization algorithm, two HEs denoted by purple arrows (upperHEs mentioned above) should be pushed into the stack. Thus, we can accomplish the algorithm by repeating this process. The parameter coordinate of the vertex P_{5} in different face coordinate systems is easy to obtain through the connections between the halfedges.
In the neighborhood of the extraordinary points (the grey and green regions around P_{5} in Fig. 8), the knot interval vectors definition is a little tricky. Many literatures have studied on this topic [19, 20, 26]. In order to ensure continuity of the elements near the extraordinary points for further application such as isogeometric analysis, in this paper, we choose the method proposed by Scott et al. [14] to solve this problem. Through the method described in ref. [14], tworing neighborhood elements are C^{2} with adjoining threering neighborhood elements, and C^{1} with their other neighbors; and onering neighborhood elements are G^{1} with adjoining onering neighborhood elements and C^{1} with adjoining tworing neighborhood elements.
In the tworing neighborhood of an extraordinary point, the faces can be represented by the linear combinations of the Tspline control points. They can be calculated as patches of Bézier elements and the procedure is simply described in Fig. 9. Each bicubic elements contains 16 Bézier control points which can be classified into face points (solid green circles), edge points (solid blue circles) and vertex points (solid red circles). Each face point denoted by a superscript f can be represented in terms of Tspline control points (denoted by purple circles). Each edge point denoted by a superscript e is written in terms of face points and each vertex point denoted by a superscript v is represent by the face points. The formulas are defined as.
Results and discussion
In this section, as given in Figs. 10, 11, 12, and 13 some Tspline models are shown to verify the feasibility of the proposed data structures and the local parameterization algorithm. All the models are built from unstructured Tsplines which include the extraordinary points except for the gearbox. We can download them from the official site of Rhinoceros [27].
Conclusion
In this paper, an efficient data structure for the unstructured Tsplines is proposed. With this data structure, the topology information of the Tsplines can be accurately stored. In addition, a valid local parameterization algorithm which can improve the efficiency of the calculation of Tspline surfaces is developed. Some unstructured Tspline surface models are presented to verify the feasibility of data structures. All the data structures and algorithms presented in this paper have been implemented in our CAD/CAE/OPT integration software Archytas. In the future, the local refinement and the other correlative algorithms will be developed based on the proposed data structures.
Abbreviations
 HE:

Halfedges
 NURBS:

Nonuniform rational Bsplines
References
 1.
Sederberg TW, Zheng JM, Bakenov A, Nasri A (2003) Tsplines and TNURCCs. ACM Trans Graph 22(3):477–484. https://doi.org/10.1145/882262.882295.
 2.
Sederberg TW, Cardon DL, Finnigan GT, North NS, Zheng JM, Lyche T (2004) Tspline simplification and local refinement. ACM Trans Graph 23(3):276–283. https://doi.org/10.1145/1015706.1015715.
 3.
Sederberg TW, Finnigan GT, Li X, Lin HW, Ipson H (2008) Watertight trimmed NURBS. ACM Trans Graph 27(3):79. https://doi.org/10.1145/1399504.1360678.
 4.
Li X, Zheng JM, Sederberg TW, Hughes TJR, Scott MA (2012) On linear independence of Tspline blending functions. Comput Aided Geom Des 29(1):63–76. https://doi.org/10.1016/j.cagd.2011.08.005.
 5.
Scott MA, Li X, Sederberg TW, Hughes TJR (2012) Local refinement of analysissuitable Tsplines. Comput Methods Appl Mech Eng 213216:206–222. https://doi.org/10.1016/j.cma.2011.11.022.
 6.
Li X, Scott MA (2014) Analysissuitable Tsplines: characterization, refineability, and approximation. Math Model Methods Appl Sci 24(6):1141–1164. https://doi.org/10.1142/S0218202513500796.
 7.
Li WC, Ray N, Lévy BE (2006) Automatic and interactive mesh to Tspline conversion. In: Abstracts of the 4th Eurographics symposium on Geometry processing, ACM, Cagliari, Sardinia, Italy, p 191–200.
 8.
Zhang YJ, Wang WY, Hughes TJR (2012) Solid Tspline construction from boundary representations for genuszero geometry. Comput Methods Appl Mech Eng 249252:185–197. https://doi.org/10.1016/j.cma.2012.01.014.
 9.
Zhang YJ, Wang WY, Hughes TJR (2013) Conformal solid Tspline construction from boundary Tspline representations. Comput Mech 51(6):1051–1059. https://doi.org/10.1007/s0046601207876.
 10.
Bazilevs Y, Calo VM, Cottrell JA, Evans JA, Hughes TJR, Lipton S, et al (2010) Isogeometric analysis using Tsplines. Comput Methods Appl Mech Eng 199(58):229–263. https://doi.org/10.1016/j.cma.2009.02.036.
 11.
Scott MA, Borden MJ, Verhoosel CV, Sederberg TW, Hughes TJR (2011) Isogeometric finite element data structures based on Bézier extraction of Tsplines. Int J Numer Methods Eng 88(2):126–156. https://doi.org/10.1002/nme.3167.
 12.
Dörfel MR, Jüttler B, Simeon B (2010) Adaptive isogeometric analysis by local hrefinement with Tsplines. Comput Methods Appl Mech Eng 199(58):264–275. https://doi.org/10.1016/j.cma.2008.07.012.
 13.
da Veiga LB, Buffa A, Cho D, Sangalli G (2011) Isogeometric analysis using Tsplines on twopatch geometries. Comput Methods Appl Mech Eng 200(2122):1787–1803. https://doi.org/10.1016/j.cma.2011.02.005.
 14.
Scott MA, Simpson RN, Evans JA, Lipton S, Bordas SPA, Hughes TJR, et al (2013) Isogeometric boundary element analysis using unstructured Tsplines. Comput Methods Appl Mech Eng 254:197–221. https://doi.org/10.1016/j.cma.2012.11.001.
 15.
Dimitri R, De Lorenzis L, Scott MA, Wriggers P, Taylor RL, Zavarise G (2014) Isogeometric large deformation frictionless contact using Tsplines. Comput Methods Appl Mech Eng 269:394–414. https://doi.org/10.1016/j.cma.2013.11.002.
 16.
Ha SH, Choi KK, Cho S (2010) Numerical method for shape optimization using Tspline based isogeometric method. Struct Multidiscip Optim 42(3):417–428. https://doi.org/10.1007/s0015801005030.
 17.
Kostas KV, Ginnis AI, Politis CG, Kaklis PD (2015) Shiphull shape optimization with a Tspline based BEMisogeometric solver. Comput Methods Appl Mech Eng 284:611–622. https://doi.org/10.1016/j.cma.2014.10.030.
 18.
Lian H, Kerfriden P, Bordas SPA (2017) Shape optimization directly from CAD: an isogeometric boundary element approach using Tsplines. Comput Methods Appl Mech Eng 317:1–41. https://doi.org/10.1016/j.cma.2016.11.012.
 19.
Wang WY, Zhang YJ, Scott MA, Hughes TJR (2011) Converting an unstructured quadrilateral mesh to a standard Tspline surface. Comput Mech 48(4):477–498. https://doi.org/10.1007/s0046601105981.
 20.
Liu L, Zhang YJ, Wei XD (2015) Handling extraordinary nodes with weighted Tspline basis functions. Procedia Eng 124:161–173. https://doi.org/10.1016/j.proeng.2015.10.130.
 21.
Asche C, Berkhahn V (2012) Efficient data structures for Tspline modeling. In: Abstracts of the EGICE 2012 international workshop: intelligent computing in engineering, Technische Universität München, München, Germany.
 22.
Lin HW, Cai Y, Gao SM (2012) Extended Tmesh and data structure for the easy computation of Tspline. J Inf Comput Sci 9(3):583–593.
 23.
Xiao WL, Liu YZ, Li R, Wang W, Zheng JM, Zhao G (2016) Reconsideration of Tspline data models and their exchanges using STEP. Comput Aided Des 79:36–47. https://doi.org/10.1016/j.cad.2016.06.004.
 24.
Finnigan GT (2008) Arbitrary Degree TSplines. Dissertation, Brigham Young University.
 25.
Casquero H, Liu L, Zhang YJ, Reali A, Kiendl J, Gomez H (2017) Arbitrarydegree Tsplines for isogeometric analysis of fully nonlinear KirchhoffLove shells. Comput Aided Des 82:140–153. https://doi.org/10.1016/j.cad.2016.08.009.
 26.
Cashman TJ, Augsdörfer UH, Dodgson NA, Sabin NA (2009) NURBS with extraordinary points: highdegree, nonuniform, rational subdivision schemes. ACM Trans Graph 28(3):46. https://doi.org/10.1145/1576246.1531352.
 27.
TSM (Tspline Mesh) file format (2015) Tsplines Inc. http://www.tsplines.com. Accessed 21 May 2018.
Acknowledgements
The authors would like to acknowledge the support by the National Natural Science Foundation of China (Nos. 61572056 and 51305016).
Funding
Not applicable
Availability of data and materials
Not applicable
Author information
Affiliations
Contributions
WW initiated the main idea, which was discussed by all authors, and was a major contributor in writing the manuscript. YZ conducted research on data structure for unstructured Tsplines and experiments of some algorithms presented in the article. XD and GZ reviewed the manuscript and gave the final conclusion. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Ethics approval and consent to participate
Not applicable
Consent for publication
Not applicable
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Wang, W., Zhang, Y., Du, X. et al. An efficient data structure for calculation of unstructured Tspline surfaces. Vis. Comput. Ind. Biomed. Art 2, 2 (2019). https://doi.org/10.1186/s4249201900100
Received:
Accepted:
Published:
Keywords
 Tsplines
 Nonuniform rational Bsplines
 Unstructured Tmesh
 Extraordinary points