|
| IE_CORE_DECLARERUNTIMETYPED (SpherePrimitiveEvaluator, PrimitiveEvaluator) |
|
| IE_CORE_DECLAREPTR (Result) |
|
| SpherePrimitiveEvaluator (ConstSpherePrimitivePtr sphere) |
|
ConstPrimitivePtr | primitive () const override |
| Returns the primitive which we're currently evaluating.
|
|
PrimitiveEvaluator::ResultPtr | createResult () const override |
| Create a result instance which is suitable for passing to one of the query methods.
|
|
void | validateResult (PrimitiveEvaluator::Result *result) const override |
| Throws an exception if the passed result type is not compatible with the current evaluator.
|
|
bool | closestPoint (const Imath::V3f &p, PrimitiveEvaluator::Result *result) const override |
|
bool | pointAtUV (const Imath::V2f &uv, PrimitiveEvaluator::Result *result) const override |
| Find the point on the primitive at the given query UV. Returns true on success.
|
|
bool | intersectionPoint (const Imath::V3f &origin, const Imath::V3f &direction, PrimitiveEvaluator::Result *result, float maxDistance=Imath::limits< float >::max()) const override |
|
int | intersectionPoints (const Imath::V3f &origin, const Imath::V3f &direction, std::vector< PrimitiveEvaluator::ResultPtr > &results, float maxDistance=Imath::limits< float >::max()) const override |
|
float | volume () const override |
| Computes the volume of the primitive. The result is undefined if the primitive is not closed, or self intersects.
|
|
Imath::V3f | centerOfGravity () const override |
| Computes the primitive's center of gravity. The result is undefined if the primitive is not closed, or self intersects.
|
|
float | surfaceArea () const override |
| Computes the surface area of the primitive.
|
|
| IE_CORE_DECLARERUNTIMETYPED (PrimitiveEvaluator, RunTimeTyped) |
|
| IE_CORE_DECLAREPTR (Result) |
|
virtual bool | signedDistance (const Imath::V3f &p, float &distance, Result *result) const |
|
virtual int | intersectionPoints (const Imath::V3f &origin, const Imath::V3f &direction, std::vector< ResultPtr > &results, float maxDistance=Imath::limits< float >::max()) const =0 |
|
| IE_CORE_DECLAREMEMBERPTR (RunTimeTyped) |
|
virtual TypeId | typeId () const |
|
virtual const char * | typeName () const |
|
virtual bool | isInstanceOf (TypeId typeId) const |
|
virtual bool | isInstanceOf (const char *typeName) const |
|
| IE_CORE_DECLAREMEMBERPTR (RefCounted) |
|
void | addRef () const |
| Add a reference to the current object.
|
|
void | removeRef () const |
| Remove a reference from the current object.
|
|
RefCount | refCount () const |
| Returns the current reference count.
|
|
|
typedef std::map< TypeId, TypeId > | BaseTypeRegistryMap |
|
typedef std::map< TypeId, std::vector< TypeId > > | BaseTypesRegistryMap |
|
typedef std::map< TypeId, std::set< TypeId > > | DerivedTypesRegistryMap |
|
typedef tbb::spin_rw_mutex | Mutex |
|
typedef std::map< TypeId, std::string > | TypeIdsToTypeNamesMap |
|
typedef std::map< std::string, TypeId > | TypeNamesToTypeIdsMap |
|
static BaseTypeRegistryMap & | baseTypeRegistry () |
|
static DerivedTypesRegistryMap & | derivedTypesRegistry () |
|
static BaseTypesRegistryMap & | completeBaseTypesRegistry () |
|
static DerivedTypesRegistryMap & | completeDerivedTypesRegistry () |
|
static void | derivedTypeIdsWalk (TypeId typeId, std::set< TypeId > &) |
|
static TypeIdsToTypeNamesMap & | typeIdsToTypeNames () |
|
static TypeNamesToTypeIdsMap & | typeNamesToTypeIds () |
|
static Mutex | g_baseTypeIdsMutex |
|
static Mutex | g_derivedTypeIdsMutex |
|
An implementation of PrimitiveEvaluator to allow spatial queries to be performed on spheres.
- Todo:
- Currently ignores zMin, zMax, thetaMax parameters, instead assuming that there sphere is whole and facing outwards.