Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sbsphere(3) [debian man page]

SbSphere(3)							       Coin							       SbSphere(3)

NAME
SbSphere - The SbSphere class is a representation of a sphere. This class is used within many other classes in Coin. It contains the data neccessary to represent a sphere (a 3D point and a radius). SYNOPSIS
#include <Inventor/SbLinear.h> Public Member Functions SbSphere (void) SbSphere (const SbVec3f &center, const float radius) void setValue (const SbVec3f &center, const float radius) void setCenter (const SbVec3f &center) void setRadius (const float radius) const SbVec3f & getCenter (void) const float getRadius (void) const void circumscribe (const SbBox3f &box) SbBool intersect (const SbLine &l, SbVec3f &intersection) const SbBool intersect (const SbLine &l, SbVec3f &enter, SbVec3f &exit) const SbBool pointInside (const SbVec3f &p) const void print (FILE *file) const Detailed Description The SbSphere class is a representation of a sphere. This class is used within many other classes in Coin. It contains the data neccessary to represent a sphere (a 3D point and a radius). See also: SbCylinder Constructor &; Destructor Documentation SbSphere::SbSphere (void) The default constructor does nothing. The center point and the radius will be uninitialized. SbSphere::SbSphere (const SbVec3f &centerarg, const floatradiusarg) Construct an SbSphere instance with the given center point and radius. Member Function Documentation void SbSphere::setValue (const SbVec3f &centerarg, const floatradiusarg) Set the sphere's center point and radius. See also: getCenter(), getRadius(). void SbSphere::setCenter (const SbVec3f &centerarg) Set the sphere's center point. See also: setValue(), setRadius() and getCenter(). void SbSphere::setRadius (const floatradiusarg) Set the sphere's radius. See also: setValue(), setCenter() and getRadius(). const SbVec3f & SbSphere::getCenter (void) const Returns an SbVec3f with the sphere's center point. See also: setCenter(), getRadius(). float SbSphere::getRadius (void) const Returns the sphere's radius. See also: setRadius(), getCenter(). void SbSphere::circumscribe (const SbBox3f &box) Make the sphere exactly contain box, i.e. the sphere center point will be the same as that of the box, and the radius will be the distance from the box center point to any of the corners. SbBool SbSphere::intersect (const SbLine &l, SbVec3f &intersection) const Finds the intersection enter point for the given line l on the sphere. If the line does not intersect the sphere, FALSE is returned. SbBool SbSphere::intersect (const SbLine &l, SbVec3f &enter, SbVec3f &exit) const Find the intersection points of the ray l on the sphere and return these in enter and exit. If the ray just 'grazes' the sphere, the enter and exit points have equal values. If the ray does not intersect the sphere, FALSE is returned, otherwise we will return TRUE. SbBool SbSphere::pointInside (const SbVec3f &p) const Returns TRUE of the given point p lies within the sphere. void SbSphere::print (FILE *fp) const Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile. Author Generated automatically by Doxygen for Coin from the source code. Version 3.1.3 Wed May 23 2012 SbSphere(3)

Check Out this Related Man Page

SbSphereSheetProjector(3)					       Coin						 SbSphereSheetProjector(3)

NAME
SbSphereSheetProjector - The SbSphereSheetProjector class projects 2D points to 3D points on a sheet covering a spherical shape. The following stand-alone example shows how screen space coordinates projects into 3D when mapped with an SbSphereSheetProjector. It outputs the resulting projections as an SoPointSet in a Inventor-file on stdout: SYNOPSIS
#include <Inventor/projectors/SbSphereSheetProjector.h> Inherits SbSphereProjector. Public Member Functions SbSphereSheetProjector (const SbBool orienttoeye=TRUE) SbSphereSheetProjector (const SbSphere &sph, const SbBool orienttoeye=TRUE) virtual SbProjector * copy (void) const virtual SbVec3f project (const SbVec2f &point) virtual SbRotation getRotation (const SbVec3f &point1, const SbVec3f &point2) Protected Member Functions void setupPlane (void) Protected Attributes SbVec3f workingProjPoint SbVec3f planePoint SbVec3f planeDir float planeDist SbPlane tolPlane Detailed Description The SbSphereSheetProjector class projects 2D points to 3D points on a sheet covering a spherical shape. The following stand-alone example shows how screen space coordinates projects into 3D when mapped with an SbSphereSheetProjector. It outputs the resulting projections as an SoPointSet in a Inventor-file on stdout: #include <stdio.h> #include <Inventor/SbLinear.h> #include <Inventor/projectors/SbSphereSheetProjector.h> #include <Inventor/SoDB.h> int main(void) { SoDB::init(); const float START = 0.0f; const float END = 1.0f; const float STEPS = 50.0f; const float STEPSIZE = ((END - START) / STEPS); SbSphere s(SbVec3f(0, 0, 0), 0.8); SbSphereSheetProjector ssp(s, TRUE); // last argument is orientToEye SbViewVolume volume; volume.ortho(-1, 1, -1, 1, -1, 1); ssp.setViewVolume(volume); (void)fprintf(stdout, '#Inventor V2.1 ascii0 'Separator {0 ' Coordinate3 {0 ' point [0); for (float i=START; i <= END; i += STEPSIZE) { for (float j=START; j <= END; j += STEPSIZE) { SbVec3f v = ssp.project(SbVec2f(j, i)); (void)fprintf(stdout, '%f %f %f,0, v[0], v[1], v[2]); } } (void)fprintf(stdout, ' ]0 ' }0 ' DrawStyle { pointSize 2 }0 ' PointSet { }0 '}0); return 0; } The projections to 3D points in the resulting Inventor-file looks like this: Constructor &; Destructor Documentation SbSphereSheetProjector::SbSphereSheetProjector (const SbBoolorienttoeye = TRUE) Constructor. Uses default sphere defintion, see SbSphereProjector::SbSphereProjector(). orienttoeye decides whether or not the sheet should always be oriented towards the viewer. SbSphereSheetProjector::SbSphereSheetProjector (const SbSphere &sph, const SbBoolorienttoeye = TRUE) Constructor with explicit definition of projection sphere. Member Function Documentation SbProjector * SbSphereSheetProjector::copy (void) const [virtual] Construct and return a copy of this projector. The caller is responsible for destructing the new instance. Note that if the Coin library has been built as a DLL under Microsoft Windows and you use this method from application code, you must make sure that both the Coin DLL and the application executable is using the same instance of a C Run-Time (CRT) library. Otherwise, you will get memory heap corruption upon deallocating the returned instances, eventually leading to mysterious crashes. Implements SbProjector. SbVec3f SbSphereSheetProjector::project (const SbVec2f &point) [virtual] Project the 2D point from normalized viewport coordinates to a 3D point. The mapping will be done in accordance with the type of the projector. Implements SbProjector. SbRotation SbSphereSheetProjector::getRotation (const SbVec3f &point1, const SbVec3f &point2) [virtual] Returns rotation on the projection surface which re-orients point1 to point2. Implements SbSphereProjector. void SbSphereSheetProjector::setupPlane (void) [protected] Recalculates projection surface settings after changes to the parameters. Member Data Documentation SbSphereSheetProjector::workingProjPoint [protected] Last projected point, in the working space coordinate system. SbSphereSheetProjector::planePoint [protected] Position of the center of the sphere in the plane of the hyberbolic sheet. SbSphereSheetProjector::planeDir [protected] Normal vector of the plane defining the orientation of the sheet. SbSphereSheetProjector::planeDist [protected] This API member is considered internal to the library, as it is not likely to be of interest to the application programmer. SbSphereSheetProjector::tolPlane [protected] The tolerance value specifying how much of the sphere is 'above' the sheet. Author Generated automatically by Doxygen for Coin from the source code. Version 3.1.3 Wed May 23 2012 SbSphereSheetProjector(3)
Man Page