MCPcopy Create free account
hub / github.com/cinder/Cinder / createGeometry

Method createGeometry

samples/Geometry/src/GeometryApp.cpp:444–564  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

442}
443
444void GeometryApp::createGeometry()
445{
446 geom::SourceRef primitive;
447
448 switch( mPrimitiveCurrent ) {
449 default:
450 mPrimitiveSelected = CAPSULE;
451 case CAPSULE:
452 switch( mQualityCurrent ) {
453 case DEFAULT: loadGeomSource( geom::Capsule().radius( mCapsuleRadius ).length( mCapsuleLength ), geom::WireCapsule().radius( mCapsuleRadius ).length( mCapsuleLength ) ); break;
454 case LOW: loadGeomSource( geom::Capsule().radius( mCapsuleRadius ).length( mCapsuleLength ).subdivisionsAxis( 6 ).subdivisionsHeight( 1 ), geom::WireCapsule().radius( mCapsuleRadius ).length( mCapsuleLength ) ); break;
455 case HIGH: loadGeomSource( geom::Capsule().radius( mCapsuleRadius ).length( mCapsuleLength ).subdivisionsAxis( 60 ).subdivisionsHeight( 20 ), geom::WireCapsule().radius( mCapsuleRadius ).length( mCapsuleLength ) ); break;
456 }
457 break;
458 case CONE:
459 switch( mQualityCurrent ) {
460 case DEFAULT: loadGeomSource( geom::Cone().ratio( mConeRatio ), geom::WireCone() ); break;
461 case LOW: loadGeomSource( geom::Cone().ratio( mConeRatio ).subdivisionsAxis( 6 ).subdivisionsHeight( 1 ), geom::WireCone() ); break;
462 case HIGH: loadGeomSource( geom::Cone().ratio( mConeRatio ).subdivisionsAxis( 60 ).subdivisionsHeight( 60 ), geom::WireCone() ); break;
463 }
464 break;
465 case CUBE:
466 switch( mQualityCurrent ) {
467 case DEFAULT: loadGeomSource( geom::Cube(), geom::WireCube() ); break;
468 case LOW: loadGeomSource( geom::Cube().subdivisions( 1 ), geom::WireCube() ); break;
469 case HIGH: loadGeomSource( geom::Cube().subdivisions( 64 ), geom::WireCube() ); break;
470 }
471 break;
472 case CUBESPHERE:
473 switch( mQualityCurrent ) {
474 case DEFAULT: loadGeomSource( geom::CubeSphere().equalSpacing( mCubeSphereEqualSpacing ), geom::WireSphere() ); break;
475 case LOW: loadGeomSource( geom::CubeSphere().equalSpacing( mCubeSphereEqualSpacing ).subdivisions( 4 ), geom::WireSphere() ); break;
476 case HIGH: loadGeomSource( geom::CubeSphere().equalSpacing( mCubeSphereEqualSpacing ).subdivisions( 64 ), geom::WireSphere() ); break;
477 }
478 break;
479 case CYLINDER:
480 switch( mQualityCurrent ) {
481 case DEFAULT: loadGeomSource( geom::Cylinder(), geom::WireCylinder() ); break;
482 case LOW: loadGeomSource( geom::Cylinder().subdivisionsAxis( 6 ).subdivisionsCap( 1 ), geom::WireCylinder() ); break;
483 case HIGH: loadGeomSource( geom::Cylinder().subdivisionsAxis( 60 ).subdivisionsHeight( 20 ).subdivisionsCap( 10 ), geom::WireCylinder() ); break;
484 }
485 break;
486 case HELIX:
487 switch( mQualityCurrent ) {
488 case DEFAULT: loadGeomSource( geom::Helix().ratio( mHelixRatio ).coils( mHelixCoils ).twist( mHelixTwist, mHelixOffset ), geom::WireCube() ); break;
489 case LOW: loadGeomSource( geom::Helix().ratio( mHelixRatio ).coils( mHelixCoils ).twist( mHelixTwist, mHelixOffset ).subdivisionsAxis( 12 ).subdivisionsHeight( 6 ), geom::WireCube() ); break;
490 case HIGH: loadGeomSource( geom::Helix().ratio( mHelixRatio ).coils( mHelixCoils ).twist( mHelixTwist, mHelixOffset ).subdivisionsAxis( 60 ).subdivisionsHeight( 60 ), geom::WireCube() ); break;
491 }
492 break;
493 case ICOSAHEDRON:
494 loadGeomSource( geom::Icosahedron(), geom::WireIcosahedron() );
495 break;
496 case ICOSPHERE:
497 switch( mQualityCurrent ) {
498 case DEFAULT: loadGeomSource( geom::Icosphere(), geom::WireSphere() ); break;
499 case LOW: loadGeomSource( geom::Icosphere().subdivisions( 1 ), geom::WireSphere() ); break;
500 case HIGH: loadGeomSource( geom::Icosphere().subdivisions( 5 ), geom::WireSphere() ); break;
501 }

Callers

nothing calls this directly

Calls 7

WireCubeFunction · 0.85
SphereFunction · 0.50
RectClass · 0.50
CircleClass · 0.50
lengthMethod · 0.45
scaleMethod · 0.45
widthMethod · 0.45

Tested by

no test coverage detected