35 #ifndef IE_CORE_SPHEREPRIMITIVEEVALUATOR_H
36 #define IE_CORE_SPHEREPRIMITIVEEVALUATOR_H
40 #include "IECore/Export.h"
41 #include "IECore/PrimitiveEvaluator.h"
42 #include "IECore/SpherePrimitive.h"
64 IE_CORE_DECLAREMEMBERPTR( Result );
68 Imath::V3f point()
const override;
69 Imath::V3f normal()
const override;
70 Imath::V2f uv()
const override;
71 Imath::V3f uTangent()
const override;
72 Imath::V3f vTangent()
const override;
91 IE_CORE_DECLAREPTR( Result );
97 static PrimitiveEvaluatorPtr create( ConstPrimitivePtr primitive );
99 ConstPrimitivePtr primitive()
const override;
101 PrimitiveEvaluator::ResultPtr createResult()
const override;
109 bool intersectionPoint(
const Imath::V3f &origin,
const Imath::V3f &direction,
112 int intersectionPoints(
const Imath::V3f &origin,
const Imath::V3f &direction,
113 std::vector<PrimitiveEvaluator::ResultPtr> &results,
float maxDistance = Imath::limits<float>::max() )
const override;
115 float volume()
const override;
117 Imath::V3f centerOfGravity()
const override;
119 float surfaceArea()
const override;
123 ConstSpherePrimitivePtr m_sphere;
130 #endif // IE_CORE_SPHEREPRIMITIVEEVALUATOR_H
Definition: PrimitiveVariable.h:47
Definition: PrimitiveEvaluator.h:57
Definition: PrimitiveEvaluator.h:68
Definition: SpherePrimitive.h:47
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43
Definition: SpherePrimitiveEvaluator.h:50