Kernel
The concept of a kernel is defined by a set of requirements on the provision of certain types and access member functions to create objects of these types. The types are function object classes to be used within the algorithms and data structures of Cgal . This allows you to use any model of a kernel as a traits class in the Cgal algorithms and data structures, unless they require types beyond those provided by a kernel.
A kernel provides types , construction objects , and generalized predicates . The former replace constructors of the kernel classes and constructive procedures in the kernel. There are also function objects replacing operators, especially for equality testing.
RingNumberType
Definition
The concept RingNumberType defines the syntactic requirements a number type must meet in order to be used in CGAL as a ring type. This implies that CGAL::Number_type_traits <RingNumberType >::Has_division is not required to be CGAL::Tag_true . Unsigned numbers are excluded due to semantical limitations in the ordering.
FieldNumberType
The concept FieldNumberType defines the syntactic requirements of a number type to be used as a template parameter for the Cartesian kernels. This number type supports the operations + , - , * and / . This implies that CGAL::Number_type_traits < FieldNumberType >::Has_division is CGAL::Tag_true .
本文详细介绍了CGAL内核的概念及其提供的类型、构造对象和通用预定义,特别关注了RingNumberType和FieldNumberType数值类型的使用场景。通过CGAL::Number_type_traits的特性,了解如何选择合适的数值类型以满足不同算法和数据结构的需求。
4162

被折叠的 条评论
为什么被折叠?



