SQLRETURN SQL_API SQLFetchScroll( SQLHSTMT StatementHandle, SQLSMALLINT FetchOrientation, SQLLEN FetchOffset) { o::SQLFetchScroll sfs(StatementHandle, FetchOrientation, FetchOffset); return sfs(); }
bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircleHollowProfileDef* l, TopoDS_Shape& face) { const double r = l->Radius() * getValue(GV_LENGTH_UNIT); const double t = l->WallThickness() * getValue(GV_LENGTH_UNIT); if ( r == 0.0f || t == 0.0f ) { Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l->entity); return false; } gp_Trsf2d trsf2d; bool has_position = true; #ifdef USE_IFC4 has_position = l->hasPosition(); #endif if (has_position) { IfcGeom::Kernel::convert(l->Position(), trsf2d); } gp_Ax2 ax = gp_Ax2().Transformed(trsf2d); BRepBuilderAPI_MakeWire outer; Handle(Geom_Circle) outerCircle = new Geom_Circle(ax, r); outer.Add(BRepBuilderAPI_MakeEdge(outerCircle)); BRepBuilderAPI_MakeFace mf(outer.Wire(), false); BRepBuilderAPI_MakeWire inner; Handle(Geom_Circle) innerCirlce = new Geom_Circle(ax, r-t); inner.Add(BRepBuilderAPI_MakeEdge(innerCirlce)); mf.Add(inner); ShapeFix_Shape sfs(mf.Face()); sfs.Perform(); face = TopoDS::Face(sfs.Shape()); return true; }
bool IfcGeom::Kernel::convert(const IfcSchema::IfcCurveBoundedPlane* l, TopoDS_Shape& face) { gp_Pln pln; IfcGeom::Kernel::convert(l->BasisSurface(), pln); gp_Trsf trsf; trsf.SetTransformation(pln.Position(), gp::XOY()); TopoDS_Wire outer; convert_wire(l->OuterBoundary(), outer); BRepBuilderAPI_MakeFace mf (outer); mf.Add(outer); IfcSchema::IfcCurve::list::ptr inner = l->InnerBoundaries(); for (IfcSchema::IfcCurve::list::it it = inner->begin(); it != inner->end(); ++it) { TopoDS_Wire inner; convert_wire(*it, inner); mf.Add(inner); } ShapeFix_Shape sfs(mf.Face()); sfs.Perform(); face = TopoDS::Face(sfs.Shape()).Moved(trsf); return true; }
void VMError::print_stack_trace(outputStream* st, JavaThread* jt, char* buf, int buflen, bool verbose) { #ifdef ZERO if (jt->zero_stack()->sp() && jt->top_zero_frame()) { // StackFrameStream uses the frame anchor, which may not have // been set up. This can be done at any time in Zero, however, // so if it hasn't been set up then we just set it up now and // clear it again when we're done. bool has_last_Java_frame = jt->has_last_Java_frame(); if (!has_last_Java_frame) jt->set_last_Java_frame(); st->print("Java frames:"); // If the top frame is a Shark frame and the frame anchor isn't // set up then it's possible that the information in the frame // is garbage: it could be from a previous decache, or it could // simply have never been written. So we print a warning... StackFrameStream sfs(jt); if (!has_last_Java_frame && !sfs.is_done()) { if (sfs.current()->zeroframe()->is_shark_frame()) { st->print(" (TOP FRAME MAY BE JUNK)"); } } st->cr(); // Print the frames for(int i = 0; !sfs.is_done(); sfs.next(), i++) { sfs.current()->zero_print_on_error(i, st, buf, buflen); st->cr(); } // Reset the frame anchor if necessary if (!has_last_Java_frame) jt->reset_last_Java_frame(); } #else if (jt->has_last_Java_frame()) { st->print_cr("Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)"); for(StackFrameStream sfs(jt); !sfs.is_done(); sfs.next()) { sfs.current()->print_on_error(st, buf, buflen, verbose); st->cr(); } } #endif // ZERO }
KeyBinding::KeyBinding(GLPresenter* pres) : pres(pres) { ifstream kfs("keys.ini"); string temp; while(getline(kfs, temp)) { handleBinding(temp); } ifstream sfs("startup.ini"); while(getline(sfs, temp)) { handleStartup(temp); } }
void InterfaceSupport::zap_dead_locals_old() { JavaThread* thread = JavaThread::current(); if (zap_traversals == -1) // edit constant for debugging warning("I am here"); int zap_frame_count = 0; // count frames to help debugging for (StackFrameStream sfs(thread); !sfs.is_done(); sfs.next()) { sfs.current()->zap_dead_locals(thread, sfs.register_map()); ++zap_frame_count; } ++zap_traversals; }
bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangleHollowProfileDef* l, TopoDS_Shape& face) { const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); const double d = l->WallThickness() * getValue(GV_LENGTH_UNIT); const bool fr1 = l->hasOuterFilletRadius(); const bool fr2 = l->hasInnerFilletRadius(); const double r1 = fr1 ? l->OuterFilletRadius() * getValue(GV_LENGTH_UNIT) : 0.; const double r2 = fr2 ? l->InnerFilletRadius() * getValue(GV_LENGTH_UNIT) : 0.; if ( x < ALMOST_ZERO || y < ALMOST_ZERO ) { Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l->entity); return false; } TopoDS_Face f1; TopoDS_Face f2; gp_Trsf2d trsf2d; bool has_position = true; #ifdef USE_IFC4 has_position = l->hasPosition(); #endif if (has_position) { IfcGeom::Kernel::convert(l->Position(), trsf2d); } double coords1[8] = {-x ,-y, x ,-y, x, y, -x, y }; double coords2[8] = {-x+d,-y+d, x-d,-y+d, x-d,y-d, -x+d,y-d}; double radii1[4] = {r1,r1,r1,r1}; double radii2[4] = {r2,r2,r2,r2}; int fillets[4] = {0,1,2,3}; bool s1 = profile_helper(4,coords1,fr1 ? 4 : 0,fillets,radii1,trsf2d,f1); bool s2 = profile_helper(4,coords2,fr2 ? 4 : 0,fillets,radii2,trsf2d,f2); if (!s1 || !s2) return false; TopExp_Explorer exp1(f1, TopAbs_WIRE); TopExp_Explorer exp2(f2, TopAbs_WIRE); TopoDS_Wire w1 = TopoDS::Wire(exp1.Current()); TopoDS_Wire w2 = TopoDS::Wire(exp2.Current()); BRepBuilderAPI_MakeFace mf(w1, false); mf.Add(w2); ShapeFix_Shape sfs(mf.Face()); sfs.Perform(); face = TopoDS::Face(sfs.Shape()); return true; }
bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryProfileDefWithVoids* l, TopoDS_Shape& face) { TopoDS_Wire profile; if ( ! convert_wire(l->OuterCurve(),profile) ) return false; BRepBuilderAPI_MakeFace mf(profile); IfcSchema::IfcCurve::list::ptr voids = l->InnerCurves(); for( IfcSchema::IfcCurve::list::it it = voids->begin(); it != voids->end(); ++ it ) { TopoDS_Wire hole; if ( convert_wire(*it,hole) ) { mf.Add(hole); } } ShapeFix_Shape sfs(mf.Face()); sfs.Perform(); face = TopoDS::Face(sfs.Shape()); return true; }
void InterfaceSupport::verify_stack() { JavaThread* thread = JavaThread::current(); ResourceMark rm(thread); // disabled because it throws warnings that oop maps should only be accessed // in VM thread or during debugging if (!thread->has_pending_exception()) { // verification does not work if there are pending exceptions StackFrameStream sfs(thread); CodeBlob* cb = sfs.current()->cb(); // In case of exceptions we might not have a runtime_stub on // top of stack, hence, all callee-saved registers are not going // to be setup correctly, hence, we cannot do stack verify if (cb != NULL && !(cb->is_runtime_stub() || cb->is_uncommon_trap_stub())) return; for (; !sfs.is_done(); sfs.next()) { sfs.current()->verify(sfs.register_map()); } } }
void InterfaceSupport::stress_derived_pointers() { #ifdef COMPILER2 JavaThread *thread = JavaThread::current(); if (!is_init_completed()) return; ResourceMark rm(thread); bool found = false; for (StackFrameStream sfs(thread); !sfs.is_done() && !found; sfs.next()) { CodeBlob* cb = sfs.current()->cb(); if (cb != NULL && cb->oop_maps() ) { // Find oopmap for current method const ImmutableOopMap* map = cb->oop_map_for_return_address(sfs.current()->pc()); assert(map != NULL, "no oopmap found for pc"); found = map->has_derived_pointer(); } } if (found) { // $$$ Not sure what to do here. /* Scavenge::invoke(0); */ } #endif }