HDK
|
A circle primitive. More...
#include <GT_PrimCircle.h>
Protected Member Functions | |
GT_PrimQuadric * | clone (const GT_Parametric &uv) const override |
Create a split primitive. More... | |
void | getQBounds (UT_BoundingBox &box) const override |
void | fillQP (UT_Vector3F *P, GT_Size n, const fpreal *u, fpreal v) const override |
void | fillQP (UT_Vector3D *P, GT_Size n, const fpreal *u, fpreal v) const override |
void | fillQN (UT_Vector3F *P, GT_Size n, const fpreal *u, fpreal v) const override |
void | fillQN (UT_Vector3D *P, GT_Size n, const fpreal *u, fpreal v) const override |
void | adjustTesselationCounts (GT_Size &nu, GT_Size &nv) const override |
Protected Member Functions inherited from GT_PrimQuadric | |
void | hardenAttributes () |
Harden attributes etc. More... | |
virtual GT_PrimitiveHandle | createMesh (GT_Size nu, GT_Size nv, fpreal u0, fpreal u1, fpreal v0, fpreal v1, bool create_normals=true, bool create_uv=true, GT_Storage Pstorage=GT_STORE_REAL32, GT_Storage Nstorage=GT_STORE_REAL32) const |
Protected Member Functions inherited from GT_Primitive | |
void | enlargeP (UT_BoundingBox &box, const GT_AttributeListHandle &list, int segment) const |
void | enlargeP (UT_BoundingBox &B, const GT_DataArrayHandle &P) const |
Convenience method to enlarge a bounding box given a position attribute. More... | |
void | enlargePw (UT_BoundingBox &B, const GT_DataArrayHandle &P) const |
Protected Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive > | |
SYS_FORCE_INLINE | ~UT_IntrusiveRefCounter () |
Destructor: Only derived classes can destruct this. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from GT_PrimQuadric | |
static void | extractRefineParms (const GT_RefineParms *parms, GT_Size &nu, GT_Size &nv, fpreal &u0, fpreal &u1, fpreal &v0, fpreal &v1) |
Extract refinement parameters. More... | |
Protected Attributes inherited from GT_PrimQuadric | |
GT_AttributeListHandle | myAttributes |
GT_Parametric | myUV |
A circle primitive.
The circle primitive represents a parametric patch of a circle/disk primitive in the XY plane. The circle is parametrized so u
(0 to 1) represents radial angle, while v
(0 to 1) is goes from the center to the circumference. That is:
Definition at line 31 of file GT_PrimCircle.h.
|
inline |
Default constructor (full unit circle in the xz plane, no attributes)
Definition at line 35 of file GT_PrimCircle.h.
|
inline |
Useful constructor.
Definition at line 38 of file GT_PrimCircle.h.
|
inline |
Copy (but with a different parametric range)
Definition at line 44 of file GT_PrimCircle.h.
|
inline |
Copy constructor.
Definition at line 49 of file GT_PrimCircle.h.
|
override |
Destructor.
|
overrideprotectedvirtual |
Methods defined on GT_PrimQuadric
Reimplemented from GT_PrimQuadric.
|
inlineoverridevirtual |
Implements GT_Primitive.
Definition at line 56 of file GT_PrimCircle.h.
|
inlineoverrideprotectedvirtual |
Create a split primitive.
Implements GT_PrimQuadric.
Definition at line 110 of file GT_PrimCircle.h.
|
static |
Static method to compute bounds for a circle.
|
overridevirtual |
Hardening the primitive will return a copy of the primitive, but without any dangling references. The default implementation returns a NULL ptr.
Reimplemented from GT_Primitive.
|
inlineoverridevirtual |
Create a copy of the primitive, referencing all the source data This can return a NULL pointer, but it would be better to implement it properly.
Implements GT_Primitive.
Definition at line 59 of file GT_PrimCircle.h.
|
overrideprotectedvirtual |
Methods defined on GT_PrimQuadric
Implements GT_PrimQuadric.
|
overrideprotectedvirtual |
Methods defined on GT_PrimQuadric
Implements GT_PrimQuadric.
|
overrideprotectedvirtual |
Methods defined on GT_PrimQuadric
Implements GT_PrimQuadric.
|
overrideprotectedvirtual |
Methods defined on GT_PrimQuadric
Implements GT_PrimQuadric.
|
overridevirtual |
Methods defined on GT_Primitive
Reimplemented from GT_Primitive.
|
overrideprotectedvirtual |
Methods defined on GT_PrimQuadric
Implements GT_PrimQuadric.
|
inline |
Initialize a circle with
attribs | Attributes defined on the circle |
transform | The transform attribute list should contain a single transform representing the 4x4 transform of the circle. |
uv | The parametric range for the circle. The circle is parametrized so u (0 to 1) represents radial angle, while v (0 to 1) is goes from the center to the circumference. |
Definition at line 85 of file GT_PrimCircle.h.
|
static |
|
static |
Get a tesselation of a full circle with a given set of refinement parameters.
GT_PrimitiveHandle GT_PrimCircle::refineToCurve | ( | const GT_RefineParms * | parms | ) | const |
|
overridevirtual |
When creating a polygon mesh from a circle, we can make a triangle fan instead of a mesh.
Reimplemented from GT_PrimQuadric.
|
inlineoverridevirtual |
Save the primitive to a JSON stream. The default method does nothing and returns false.
Reimplemented from GT_Primitive.
Definition at line 57 of file GT_PrimCircle.h.