32 virtual void Render();
35 virtual void Serialize(
Stream &
s);
42 virtual void SetClosed(
bool bTOrF) { m_bClosed = bTOrF; }
43 bool Closed()
const {
return m_bClosed; }
47 virtual void SetColor(
const mudbox::Color &cColor ) { m_aColor[0] = cColor.
r; m_aColor[1] = cColor.
g; m_aColor[2] = cColor.
b; m_aColor[3] = cColor.
a; };
60 virtual void CopyTo(
Node *pNode)
const;
64 virtual float Length()
const;
109 virtual bool SetPoint(
int index,
const Vector &pt);
113 virtual const CurvePoint &Point(
int index)
const;
116 virtual Vector WorldPosition(
int iIndex)
const;
119 virtual int PointCount()
const;
123 virtual bool Point(
int index,
CurvePoint &point);
130 virtual bool InsertPoint(
int before,
const CurvePoint &pt);
134 virtual bool RemovePoint(
int index);
137 virtual void Serialize(
Stream &
s);
143 virtual void CopyTo(
Node *pNode)
const;
146 virtual bool IsConstrainedToSurface(
void )
const;
149 virtual void CreateSpline(
float fSmoothness );
152 virtual float SplineSmoothness()
const;
156 virtual void SetSplineSmoothness(
float fSmoothness );
160 virtual void BeginEdit();
163 virtual void EndEdit();
166 virtual bool IsBeingEdited()
const;
173 virtual int ToSplineIndex(
int iPointIndex )
const;
176 virtual bool IsSpline(
void )
const;
179 virtual void ProjectPoint(
const Vector &vPoint,
Vector &vResult )
const;
189 virtual void SetCurveType(
enum CurveType ct);
192 virtual enum CurveType CurveType()
const;
222 { Curve = pCurve; PointIndex = iPointIndex; Point3D = point3D; Point2D = point2D; DistanceToMouse = distanceToMouse; }
243 static void hitTestCurves(
float fMouseX,
float fMouseY,
float distanceTolerance,
QVector<CurveHit> &hitCurves, CurveTestPoints ctp = CTP_START_END,
bool bTestLockedCurves =
false,
bool bTestClosedCurves =
true);
246 static int hitTestCurvePoints(
float fMouseX,
float fMouseY,
float distanceTolerance,
MudboxCurve *pCurve, CurveHit &curveHit, CurveTestPoints ctp = CTP_START_END);
247 static float projectPointToCurve(
float fMouseX,
float fMouseY,
MudboxCurve * pCurve,
int iPointIndex,
Vector &vProjection);
248 static bool snapMouse(
float fMouseX,
float fMouseY,
float fSnappingDistance,
MudboxCurve *pCurve,
float &fNewMouseX,
float &fNewMouseY);
263 PickInfo(
float fMouseX,
float fMouseY,
float fDistanceTolerance = 0,
int iDepthTolerance = 0xFFF);
278 virtual void SetCamera(
Camera * pCamera);
279 virtual Camera * GetCamera()
const;
280 virtual void SetFrameBufferSize(
int iWidth,
int iHeight);
281 virtual void GetFrameBufferSize(
int & iWidth,
int & iHeight);
282 virtual void QuickInit();
283 virtual void Invalidate();
284 virtual bool Pick(
const PickInfo & pPickInfo, CurveHit & pResult, Eliminater * pEliminator = NULL);
285 virtual void CalculateProjection(CurveHit & pResult)
const;
303 void Close(
bool bMerge =
false );
Represents a 3D vector or point with S23E8 floating point elements.
virtual void SetClosed(bool bTOrF)
Creates a loop.
Base class for Curve types.
QList< CurvePoint > m_vPoints
Using QList for storage.
CurveType
Curve type. Used to determine if curve is treated as a ViewCurve (2D) or a regular 3D curve...
AxisAlignedBoundingBox m_AABB
3D world space bounding box const AxisAlignedBoundingBox &,
Represents a bounding box whose axes are aligned with the coordinate system.
Describes a location somewhere on the surface of a Mesh.
This is the base class for most classes in the Mudbox SDK.
Represents a color with four components: red, green, blue, alpha.
virtual void ResetColor(void)
Vector MBDLL_DECL WindowPositionNormalized(const MudboxCurve *pCurve, int iIndex)
Return the position of the specific point inside viewport in the 0-1 range.
CurveHit(MudboxCurve *pCurve, int iPointIndex, Vector point3D, Vector point2D, float distanceToMouse)
This is the base class for all nodes that are transformable objects in the Mudbox scene...
bool m_bRefreshBoundingBox
virtual const AxisAlignedBoundingBox & BoundingBox()
Return world space bounding box.
aptr< mudbox::Geometry > m_pGeometry
Mesh that this curve is associated with. Can be NULL.
Vector MBDLL_DECL WindowPosition(const MudboxCurve *pCurve, int iIndex)
Return the position of the specific point inside viewport according to the current viewport size in p...
Represents a camera (point of view) in a Mudbox scene.
Class: ConvolutionKernel.
mudbox::SurfacePoint SurfacePt
Represents a 3d object in the scene.
Streams are used to read information from a file, or to write it to a file.
virtual mudbox::Color Color(void) const
Control the color of the curve, default is green. Note that selected curves always rendered with yell...
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
virtual void SetColor(const mudbox::Color &cColor)
Internal class only, do not use.
virtual ~AbstractCurvePicker()
void SetSelected(bool bTOrF)
Set and get selection state.