HDK
|
A sphere primitive. More...
#include <GT_PrimSphere.h>
Public Member Functions | |
GT_PrimSphere () | |
Default constructor (full unit sphere, no attributes) More... | |
GT_PrimSphere (const GT_AttributeListHandle &attribs, const GT_TransformHandle &transform, const GT_Parametric &uv=GT_Parametric()) | |
Useful constructor. More... | |
GT_PrimSphere (const GT_PrimSphere &src, const GT_Parametric &uv) | |
Copy constructor with different parametric range. More... | |
GT_PrimSphere (const GT_PrimSphere &src) | |
Copy constructor. More... | |
~GT_PrimSphere () override | |
Destructor. More... | |
const char * | className () const override |
bool | save (UT_JSONWriter &w) const override |
bool | init (const GT_AttributeListHandle &attribs, const GT_TransformHandle &transform, const GT_Parametric &uv) |
int | getPrimitiveType () const override |
GT_PrimitiveHandle | doSoftCopy () const override |
GT_PrimitiveHandle | doHarden () const override |
Public Member Functions inherited from GT_PrimQuadric | |
GT_PrimQuadric () | |
GT_PrimQuadric (const GT_AttributeListHandle &attribs, const GT_TransformHandle &transform, const GT_Parametric &uv=GT_Parametric()) | |
GT_PrimQuadric (const GT_PrimQuadric &src) | |
GT_PrimQuadric (const GT_PrimQuadric &src, const GT_Parametric &uv) | |
Copy the quadric, but with a different parametric range. More... | |
~GT_PrimQuadric () override | |
bool | saveQuadric (UT_JSONWriter &w, const char *name) const |
bool | init (const GT_AttributeListHandle &attribs, const GT_TransformHandle &transform, const GT_Parametric &uv) |
bool | refine (GT_Refine &refiner, const GT_RefineParms *parms) const override |
Method defined on GT_Primitive. More... | |
const GT_ViewportRefineOptions & | viewportRefineOptions () const override |
Viewport refinement options. More... | |
virtual GT_PrimitiveHandle | refineToPolygonMesh (const GT_RefineParms *parms) const |
Convenience method to refine to a polygon mesh. More... | |
virtual void | adjustTesselationCounts (GT_Size &nu, GT_Size &nv) const |
void | enlargeBounds (UT_BoundingBox boxes[], int nsegments) const override |
int | getMotionSegments () const override |
int64 | getMemoryUsage () const override |
const GT_AttributeListHandle & | getAttributes () const |
const GT_Parametric & | getParametric () const |
const GT_AttributeListHandle & | getDetailAttributes () const override |
GT_PrimitiveHandle | splitU () |
GT_PrimitiveHandle | splitV () |
void | getQP (UT_Vector3F &P, fpreal u, fpreal v) const |
void | getQP (UT_Vector3D &P, fpreal u, fpreal v) const |
void | getQN (UT_Vector3F &N, fpreal u, fpreal v) const |
void | getQN (UT_Vector3D &N, fpreal u, fpreal v) const |
Public Member Functions inherited from GT_Primitive | |
GT_Primitive () | |
GT_Primitive (const GT_Primitive &src) | |
virtual | ~GT_Primitive () |
virtual bool | getUniqueID (int64 &id) const |
virtual void | enlargeRenderBounds (UT_BoundingBox boxes[], int nsegments) const |
virtual void | getVelocityRange (UT_Vector3 &min, UT_Vector3 &max, const UT_StringRef &attribute_name=GA_Names::v) const |
const GT_TransformHandle & | getPrimitiveTransform () const |
void | setPrimitiveTransform (const GT_TransformHandle &x) |
Set the transform for a the primitive. More... | |
GT_PrimitiveHandle | clone () const |
virtual bool | hasDataArray (const UT_StringRef &name, GT_Owner owner_scope[], int num_owners, GT_Storage *storage=NULL, GT_Size *tuple_size=NULL) const |
virtual bool | updateGeoPrim (const GU_ConstDetailHandle &dtl, const GT_RefineParms &parms) |
update any cached data for geometry and its attributes More... | |
void | setStaticGeometry (bool static_geo) |
Return true if the primitive represents geometry at frame 'fr'. More... | |
bool | isStaticGeometry () const |
bool | isFrameInfoAvailable () const |
bool | getDataIdHash (int64 &hash, int segment=0, bool cache_data_id=false) const |
virtual bool | getTopologyVersion (int64 &version) const |
Returns the topology version for the primitive. More... | |
GT_DataArrayHandle | findAttribute (const UT_StringRef &name, GT_Owner &owner, int segment) const |
void | dumpAttributeLists (const char *label, bool data_too) const |
print out all attribute lists More... | |
void | dumpPrimitive () const |
bool | saveAttributeLists (UT_JSONWriter &w) const |
GT_PrimitiveHandle | harden () const |
GT_PrimitiveHandle | copyTransformed (const GT_TransformHandle &x, bool force=false) const |
void | refineCopyTransformFrom (const GT_Primitive &src) |
GT_PrimitiveHandle | attributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex_pattern, const UT_StringMMPattern *point_pattern, const UT_StringMMPattern *uniform_pattern, const UT_StringMMPattern *detail_pattern) const |
virtual GT_PrimitiveHandle | doAttributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex, const UT_StringMMPattern *point, const UT_StringMMPattern *uniform, const UT_StringMMPattern *detail) const |
The virtual implementation of attribute merging. More... | |
bool | enlargeWidth (UT_BoundingBox boxes[], int nsegments, fpreal defwidth=-1) const |
virtual const GT_AttributeListHandle & | getPointAttributes () const |
virtual const GT_AttributeListHandle & | getVertexAttributes () const |
virtual const GT_AttributeListHandle & | getUniformAttributes () const |
const GT_AttributeListHandle & | getAttributeList (GT_Owner owner) const |
virtual const GT_DataArrayHandle & | getVertexList () const |
virtual GT_DataArrayHandle | createPointNormals (int segment=0, const UT_StringRef &P=GA_Names::P, bool normalize=true, const fpreal32 *pntdata=NULL, GT_Storage store=GT_STORE_REAL32) const |
virtual fpreal | computePerimeter (int seg=0) const |
virtual fpreal | computeSurfaceArea (int seg=0) const |
virtual fpreal | computeVolume (const UT_Vector3 &ref_P, int seg=0) const |
Public Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive > | |
SYS_FORCE_INLINE | UT_IntrusiveRefCounter () noexcept |
Default constructor: Sets counter to 0. More... | |
SYS_FORCE_INLINE | UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept |
Copy constructor: Sets counter to 0. More... | |
UT_IntrusiveRefCounter & | operator= (const UT_IntrusiveRefCounter &) noexcept |
Assignment operator: Does not modify counter. More... | |
SYS_FORCE_INLINE uint32 | use_count () const noexcept |
Return current counter. More... | |
SYS_FORCE_INLINE bool | conditionalAddRef () noexcept |
Static Public Member Functions | |
static void | computeSphereBounds (UT_BoundingBox &box, const GT_Parametric &uv) |
Static method to compute bounds for a sphere. More... | |
static GT_PrimitiveHandle | makePolygonMesh (const GT_RefineParms *parms) |
Static Public Member Functions inherited from GT_Primitive | |
static int | createPrimitiveTypeId () |
static GT_AttributeListHandle | mergeAttributeLists (bool &changed, const GT_AttributeListHandle &src, const GT_AttributeListHandle &merge, const UT_StringMMPattern *pattern, const UT_StringMMPattern *alternate=NULL) |
static bool | computeVelocityRange (UT_Vector3 &vmin, UT_Vector3 &vmax, const GT_DataArrayHandle &v) |
static GT_PrimitiveHandle | refineDetail (const GU_ConstDetailHandle &detail, const GT_RefineParms *parms) |
static GT_PrimitiveHandle | refinePrimitive (const GT_PrimitiveHandle &primh, const GT_RefineParms *parms) |
static void * | operator new (size_t size) |
static void * | operator new (size_t size, void *p) |
static void | operator delete (void *p, size_t size) |
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 |
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 sphere primitive.
The sphere primitive represents a parametric patch of a sphere primitive The sphere is parametrized so u
(0 to 1) represents longitude, while v
(0 to 1) is goes from pole to pole. That is:
Definition at line 31 of file GT_PrimSphere.h.
|
inline |
Default constructor (full unit sphere, no attributes)
Definition at line 35 of file GT_PrimSphere.h.
|
inline |
Useful constructor.
Definition at line 39 of file GT_PrimSphere.h.
|
inline |
Copy constructor with different parametric range.
Definition at line 45 of file GT_PrimSphere.h.
|
inline |
Copy constructor.
Definition at line 50 of file GT_PrimSphere.h.
|
override |
Destructor.
|
inlineoverridevirtual |
Reimplemented from GT_PrimQuadric.
Definition at line 57 of file GT_PrimSphere.h.
|
inlineoverrideprotectedvirtual |
|
static |
Static method to compute bounds for a sphere.
|
overridevirtual |
Methods defined on GT_Primitive
Reimplemented from GT_Primitive.
|
inlineoverridevirtual |
Methods defined on GT_Primitive
Implements GT_Primitive.
Definition at line 64 of file GT_PrimSphere.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 sphere with
attribs | Attributes defined on the sphere |
transform | The transform attribute list should contain a single transform representing the 4x4 transform of the sphere. |
uv | The parametric range for the sphere. The sphere is parametrized so u (0 to 1) represents longitude, while v (0 to 1) is goes from pole to pole. |
Definition at line 79 of file GT_PrimSphere.h.
|
static |
Get a tesselation of a full sphere with a given set of refinement parameters.
|
inlineoverridevirtual |
Save the primitive to a JSON stream. The default method does nothing and returns false.
Reimplemented from GT_Primitive.
Definition at line 58 of file GT_PrimSphere.h.