SoVRMLCylinder - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 2.5.0
Note : Coin

NAMESoVRMLCylinder − The SoVRMLCylinder class is used to represent a cylinder object​.

SYNOPSIS
#include <Inventor/VRMLnodes/SoVRMLCylinder​.h> Inherits SoVRMLGeometry​.

Public Member Functionsvirtual SoType getTypeId (void) const
SoVRMLCylinder (void)
virtual void GLRender (SoGLRenderAction *action)
virtual void rayPick (SoRayPickAction *action)
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static void initClass (void)

Public AttributesSoSFFloat radius
SoSFFloat height
SoSFBool side
SoSFBool top
SoSFBool bottom

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
virtual ~SoVRMLCylinder ()
virtual void generatePrimitives (SoAction *action)
virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)

Additional Inherited Members

Detailed DescriptionThe SoVRMLCylinder class is used to represent a cylinder object​. The detailed class documentation is taken verbatim from the VRML97 standard (ISO/IEC 14772-1:1997)​. It is copyright The Web3D Consortium, and is used by permission of the Consortium:

Cylinder { field SFBool bottom TRUE field SFFloat height 2 # (0,) field SFFloat radius 1 # (0,) field SFBool side TRUE field SFBool top TRUE } The Cylinder node specifies a capped cylinder centred at (0,0,0) in the local coordinate system and with a central axis oriented along the local Y-axis​. By default, the cylinder is sized at '-1' to '+1' in all three dimensions​. The radius field specifies the radius of the cylinder and the height field specifies the height of the cylinder along the central axis​. Both radius and height shall be greater than zero​. Figure 6​.4 illustrates the Cylinder node​. The cylinder has three parts: the side, the top (Y = +height/2) and the bottom (Y = -height/2)​. Each part has an associated SFBool field that indicates whether the part exists (TRUE) or does not exist (FALSE)​. Parts which do not exist are not rendered and not eligible for intersection tests (e​.g​., collision detection or sensor activation)​.
  Figure 6​.4
When a texture is applied to a cylinder, it is applied differently to the sides, top, and bottom​. On the sides, the texture wraps counterclockwise (from above) starting at the back of the cylinder​. The texture has a vertical seam at the back, intersecting the X=0 plane​. For the top and bottom caps, a circle is cut out of the unit texture squares centred at (0, +/- height/2, 0) with dimensions 2 × radius by 2 × radius​. The top texture appears right side up when the top of the cylinder is tilted toward the +Z-axis, and the bottom texture appears right side up when the top of the cylinder is tilted toward the -Z-axis​. SoVRMLTextureTransform affects the texture coordinates of the Cylinder node​. The Cylinder node's geometry requires outside faces only​. When viewed from the inside the results are undefined​.

Constructor & Destructor Documentation

SoVRMLCylinder::SoVRMLCylinder (void)Constructor​. References bottom, height, radius, side, and top​.

SoVRMLCylinder::~SoVRMLCylinder () [protected], [virtual]Destructor​.

Member Function Documentation

SoType SoVRMLCylinder::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } else if (node->getTypeId()​.isOfType(SoGroup::getClassTypeId())) { SoGroup * group = (SoGroup *)node; // safe downward cast, knows the type } }For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses​. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode​.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine​.h (for engine classes) and so on​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Reimplemented from SoVRMLGeometry​.

const SoFieldData * SoVRMLCylinder::getFieldData (void) const [protected], [virtual]Returns a pointer to the class-wide field data storage object for this instance​. If no fields are present, returns NULL​. Reimplemented from SoVRMLGeometry​.

void SoVRMLCylinder::GLRender (SoGLRenderAction * action) [virtual]Action method for the SoGLRenderAction​. This is called during rendering traversals​. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method​. Reimplemented from SoShape​. References bottom, SoShape::getComplexityValue(), SoAction::getState(), radius, SoVRMLGeometry::shouldGLRender(), side, and top​.

void SoVRMLCylinder::rayPick (SoRayPickAction * action) [virtual]Calculates picked point based on primitives generated by subclasses​. Reimplemented from SoShape​. References bottom, radius, SoShape::shouldRayPick(), side, and top​.

void SoVRMLCylinder::getPrimitiveCount (SoGetPrimitiveCountAction * action) [virtual]Action method for the SoGetPrimitiveCountAction​. Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action​. Nodes influencing how geometry nodes calculates their primitive count also overrides this method to change the relevant state variables​. Reimplemented from SoShape​. References SoGetPrimitiveCountAction::addNumTriangles(), bottom, SoShape::getComplexityValue(), SoShape::shouldPrimitiveCount(), side, and top​.

void SoVRMLCylinder::generatePrimitives (SoAction * action) [protected], [virtual]The method implements action behavior for shape nodes for SoCallbackAction​. It is invoked from SoShape::callback()​. (Subclasses should not override SoNode::callback()​.) The subclass implementations uses the convenience methods SoShape::beginShape(), SoShape::shapeVertex(), and SoShape::endShape(), with SoDetail instances, to pass the primitives making up the shape back to the caller​. Implements SoShape​. References bottom, SoShape::getComplexityValue(), radius, side, and top​.

void SoVRMLCylinder::computeBBox (SoAction * action, SbBox3f & box, SbVec3f & center) [protected], [virtual]Implemented by SoShape subclasses to let the SoShape superclass know the exact size and weighted center point of the shape's bounding box​. The bounding box and center point should be calculated and returned in the local coordinate system​. The method implements action behavior for shape nodes for SoGetBoundingBoxAction​. It is invoked from SoShape::getBoundingBox()​. (Subclasses should not override SoNode::getBoundingBox()​.) The box parameter sent in is guaranteed to be an empty box, while center is undefined upon function entry​. Implements SoShape​. References bottom, height, radius, SbBox3f::setBounds(), SbVec3f::setValue(), side, and top​.

Member Data Documentation

SoSFFloat SoVRMLCylinder::radiusThe cylinder radius​. Default value is 1​.0​. Referenced by computeBBox(), generatePrimitives(), GLRender(), rayPick(), and SoVRMLCylinder()​.

SoSFFloat SoVRMLCylinder::heightThe cylinder height​. Default value is 2​.0​. Referenced by computeBBox(), and SoVRMLCylinder()​.

SoSFBool SoVRMLCylinder::sideEnable/disable the cylinder side wall​. Default value is TRUE​. Referenced by computeBBox(), generatePrimitives(), getPrimitiveCount(), GLRender(), rayPick(), and SoVRMLCylinder()​.

SoSFBool SoVRMLCylinder::topEnable/disable the cylinder top​. Default value is TRUE​. Referenced by computeBBox(), generatePrimitives(), getPrimitiveCount(), GLRender(), rayPick(), and SoVRMLCylinder()​.

SoSFBool SoVRMLCylinder::bottomEnable/disable the cylinder bottom​. Default value is TRUE​. Referenced by computeBBox(), generatePrimitives(), getPrimitiveCount(), GLRender(), rayPick(), and SoVRMLCylinder()​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   36,353 byte
man-SoVRMLCylinder.3coin2Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   4 / 189,291
Visitor ID   :     :  
Visitor IP   :   18.118.126.51   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   50   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.