시뮬레이션 전체 리프팅 프로세스 초기 상태 ->에서 암 -> 아래 슬링 -> 수직 리프팅 -> 수평 회전 -> 객체를 저하 -> 수축 밧줄.
OSG :: ref_ptr <OSG :: 노드> createSimple () { OSG :: ref_ptr <OSG :: 오드> = 오드 새로운 OSG :: 오드; OSG :: ref_ptr <OSG :: 기하학> 지리적 = 새로운 OSG :: 기하학; // 申请一些顶点 OSG :: ref_ptr <OSG :: Vec3Array> 적이있는 = 새로운 OSG :: Vec3Array; 지오 -> setVertexArray (적이있는. 수 ()); # 만약 1 개 지역 -> addPrimitiveSet ( 새로운 OSG :: DrawArrays (OSG :: PrimitiveSet :: LINE_LOOP, 0 , 4 )); // 创建一个线圈 #else 지오 -> addPrimitiveSet ( 새:: DrawArrays OSG (OSG는 :: :: 프리미티브를 쿼드 -, 0 , 4. )); // 생성 사각형 #endif 다음 // 제공하는 버텍스 적이있는>와 push_back (OSG : VEC3 (- 15 , 3.0 , - 15 )); Vers에 ->와 push_back (OSG :: VEC3 ( 15 , 3.0 - 15 )); Vers에 ->와 push_back (OSG :: VEC3 ( 15 , 3.0 , 15 )); Vers에 ->와 push_back (OSG :: VEC3 (- 15 , 3.0 , 15 )); // 응용 프로그램의 색상 OSG :: ref_ptr <OSG :: Vec4Array> 컬러 = 새로운 OSG :: Vec4Array (); 색 ->와 push_back (OSG :: Vec4 ( 1.0 , 0.0 , 0.0 , 0.5 )); 색 ->와 push_back (OSG :: Vec4 ( 0.0 , 1.0 , 0.0 , 0.5 )); 색 ->와 push_back (OSG :: Vec4 ( 0.0 , 0.0 , 1.0 , 0.5 )); 색 ->와 push_back (OSG :: Vec4 ( 1.0 , 1.0 , 0.0 , 0.5 )); //색상을 설정 지리적> setColorArray (컬러는. GET ()); GEO -> setColorBinding (OSG 기하학 : : : : : : BIND_PER_VERTEX을 AttributeBinding); // 컬러 바인드 설정 // 가장 밝은 화면 당분간, 일반 설정을 :: ref_ptr OSG <OSG :: Vec3Array 경우> = NORM 새로운 새 OSG Vec3Array이다 :; GEO -> setNormalArray (NORM) GEO -> setNormalBinding (OSG AttributeBinding :: :: :: BIND_OVERALL 기하학) NORM ->와 push_back (OSG : : VEC3 ( 0.0 , - 1.0 , 0.0 )); // 오픈 투명성 지역> getOrCreateStateSet () -> setMode (GL_BLEND, OSG :: ::가 stateAttribute 온); //设置线宽 OSG :: ref_ptr <OSG :: 선폭> = w 새로운 OSG :: 선폭; w -> setWidth ( 5.0 ); 지오 -> getOrCreateStateSet () -> setAttributeAndModes (와트 수 (), OSG ::가 stateAttribute :: ON) 오드 -> addDrawable (지리적. 수 ) () 돌아 오드을; }
//代码参考: HTTPS : //blog.csdn.net/wb175208/article/details/80513775