Class: Sketchup::Face
- Inherits:
-
Drawingelement
- Object
- Entity
- Drawingelement
- Sketchup::Face
- Defined in:
- lib/sketchup-api-stubs/stubs/Sketchup/Face.rb
Overview
Faces in SketchUp are flat, 2-sided polygons with 3 or more sides.
Constant Summary collapse
- PointInside =
Constants
nil
- PointNotOnPlane =
Stub value.
nil
- PointOnEdge =
Stub value.
nil
- PointOnFace =
Stub value.
nil
- PointOnVertex =
Stub value.
nil
- PointOutside =
Stub value.
nil
- PointUnknown =
Stub value.
nil
Instance Method Summary collapse
-
#all_connected ⇒ Array<Sketchup::Entity>
The all_connected method retrieves all of the entities connected to a face.
-
#area(*args) ⇒ Object
The area method is used to retrieve the area of a face.
-
#back_material ⇒ Sketchup::Material?
The back_material method is used to retrieve the material assigned to the back side of the face.
-
#back_material=(material) ⇒ Sketchup::Material
The back_material= method is used to set the material assigned to the back side of the face.
-
#classify_point(point) ⇒ Integer
The classify_point method is used to determine if a given Point3d is on the referenced Face.
-
#clear_texture_position(front) ⇒ Object
The #clear_texture_position method is used to remove any explicit texture positioning for a face and have SketchUp display it with the default texture positioning.
-
#clear_texture_projection(frontside) ⇒ Object
The #clear_texture_projection method is used to clear the texture projection.
-
#edges ⇒ Array<Sketchup::Edge>
The edges method is used to get an array of edges that bound the face.
-
#followme(*args) ⇒ Object
The #followme method is used to create a shape by making the face follow along an array of edges.
-
#get_glued_instances ⇒ Array<Sketchup::ComponentInstance, Sketchup::Group, Sketchup::Image>
The get_glued_instances method returns an Array any ComponentInstances that are glued to the face.
-
#get_texture_projection(frontside) ⇒ Geom::Vector3d?
The #get_texture_projection method will return a vector representing the projection for either the front or back side of the face.
-
#get_UVHelper(*args) ⇒ Sketchup::UVHelper
The get_UVHelper object is used to retrieve a UVHelper object for use in texture manipulation on a face.
-
#loops ⇒ Array<Sketchup::Loop>
The loops method is used to get an array of all of the loops that bound the face.
-
#material ⇒ Sketchup::Material?
The material method is used to retrieve the material assigned to the front of the face.
-
#material=(material) ⇒ Sketchup::Material
The material= method is used to set the material assigned to the front side of the face.
-
#mesh(flags = 0) ⇒ Geom::PolygonMesh
The mesh method creates a polygon mesh that represents the face.
-
#normal ⇒ Geom::Vector3d
The normal method is used to retrieve the 3D vector normal to the face in the front direction.
-
#outer_loop ⇒ Sketchup::Loop
This method is used to retrieve the outer loop that bounds the face.
-
#plane ⇒ Array(Float, Float, Float, Float)
The plane method is used to retrieve the plane of the face.
-
#position_material(*args) ⇒ Sketchup::Face, false
The #position_material method is used to position a material on a face.
-
#pushpull(distance, copy = false) ⇒ nil
The pushpull method is used to perform a push/pull on a face.
-
#reverse! ⇒ Sketchup::Face, false
The reverse! method is used to reverse the face’s orientation, meaning the front becomes the back.
-
#set_texture_projection(vector, frontside) ⇒ Boolean
deprecated
Deprecated.
This function never worked correctly. It’s not capable of controlling the position and orientation of the texture. In some cases it produced an invalid model. As of SketchUp 2021.1 the method simply raises
NotImplementedError
. -
#texture_positioned?(front) ⇒ Boolean
The #texture_positioned? method is used to check if the face has a texture that is positioned.
-
#texture_projected?(front) ⇒ Boolean
The #texture_projected? method is used to check if the face has a texture that is projected.
-
#uv_tile_at(position, front) ⇒ Array<Geom::Point3d>?
The #uv_tile_at method is used to get the corner positions (model and UV) of a UV tile.
-
#vertices ⇒ Array<Sketchup::Vertex>
The vertices method is used to get an array of all of the vertices that bound the face.
Methods inherited from Drawingelement
#bounds, #casts_shadows=, #casts_shadows?, #erase!, #hidden=, #hidden?, #layer, #layer=, #receives_shadows=, #receives_shadows?, #visible=, #visible?
Methods inherited from Entity
#add_observer, #attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #inspect, #model, #parent, #persistent_id, #remove_observer, #set_attribute, #to_s, #typename, #valid?
Instance Method Details
#all_connected ⇒ Array<Sketchup::Entity>
The all_connected method retrieves all of the entities connected to a face.
41 42 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 41 def all_connected end |
#area ⇒ Float #area(transform) ⇒ Float
The area method is used to retrieve the area of a face.
You can pass in an optional Transformation (or an array that can represent a transformation), to correct for a parent group’s transformation. For example, if a face is inside of a group that is scaled to 200%, the area method will return the unscaled area of the face. So by passing a 200% transformation object to this method, you can account for that to get the “visual” area of the face.
79 80 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 79 def area(*args) end |
#back_material ⇒ Sketchup::Material?
The back_material method is used to retrieve the material assigned to the back side of the face.
107 108 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 107 def back_material end |
#back_material=(material) ⇒ Sketchup::Material
The back_material= method is used to set the material assigned to the back side of the face.
134 135 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 134 def back_material=(material) end |
#classify_point(point) ⇒ Integer
The classify_point method is used to determine if a given Point3d is on the referenced Face.
It is important that return value comparisons be made against the symbolic constants (i.e. PointUnknown, PointInside, PointOnVertex, etc.) rather than the absolute integer values as these values may change from one release to the next.
200 201 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 200 def classify_point(point) end |
#clear_texture_position(front) ⇒ Object
The #clear_texture_position method is used to remove any explicit texture positioning for a face and have SketchUp display it with the default texture positioning.
212 213 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 212 def clear_texture_position(front) end |
#clear_texture_projection(frontside) ⇒ Object
The #clear_texture_projection method is used to clear the texture projection. This is similar to toggling off Projection from the Position Texture tool in the UI.
227 228 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 227 def clear_texture_projection(frontside) end |
#edges ⇒ Array<Sketchup::Edge>
The edges method is used to get an array of edges that bound the face.
249 250 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 249 def edges end |
#followme(edges) ⇒ Boolean #followme(edge) ⇒ Boolean
The #followme method is used to create a shape by making the face follow along an array of edges.
288 289 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 288 def followme(*args) end |
#get_glued_instances ⇒ Array<Sketchup::ComponentInstance, Sketchup::Group, Sketchup::Image>
The get_glued_instances method returns an Array any ComponentInstances that are glued to the face.
ComponentInstance objects that are currently glued to the face.
359 360 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 359 def get_glued_instances end |
#get_texture_projection(frontside) ⇒ Geom::Vector3d?
The #get_texture_projection method will return a vector representing the projection for either the front or back side of the face.
406 407 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 406 def get_texture_projection(frontside) end |
#get_UVHelper(front = true, back = true) ⇒ Sketchup::UVHelper #get_UVHelper(front = true, back = true, texturewriter) ⇒ Sketchup::UVHelper
The get_UVHelper object is used to retrieve a UVHelper object for use in texture manipulation on a face.
334 335 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 334 def get_UVHelper(*args) end |
#loops ⇒ Array<Sketchup::Loop>
The loops method is used to get an array of all of the loops that bound the face.
430 431 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 430 def loops end |
#material ⇒ Sketchup::Material?
The material method is used to retrieve the material assigned to the front of the face. (This method is inherited from the Drawingelement parent class.)
459 460 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 459 def material end |
#material=(material) ⇒ Sketchup::Material
The material= method is used to set the material assigned to the front side of the face. (This method is inherited from the Drawingelement parent class.)
487 488 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 487 def material=(material) end |
#mesh(flags = 0) ⇒ Geom::PolygonMesh
The mesh method creates a polygon mesh that represents the face. See the Geom::PolygonMesh class for more information.
Valid flags are:
-
0
: Include PolygonMeshPoints, -
1
: Include PolygonMeshUVQFront, -
2
: Include PolygonMeshUVQBack, -
4
: Include PolygonMeshNormals.
Use bitwise OR to combine flags. A value of 7
will include all flags, for example.
530 531 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 530 def mesh(flags = 0) end |
#normal ⇒ Geom::Vector3d
The normal method is used to retrieve the 3D vector normal to the face in the front direction.
554 555 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 554 def normal end |
#outer_loop ⇒ Sketchup::Loop
This method is used to retrieve the outer loop that bounds the face.
577 578 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 577 def outer_loop end |
#plane ⇒ Array(Float, Float, Float, Float)
The plane method is used to retrieve the plane of the face. See the Array class for information on how planes are stored.
601 602 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 601 def plane end |
#position_material(material, points, on_front) ⇒ Sketchup::Face, false #position_material(material, points, on_front, projection) ⇒ Sketchup::Face, false
The #position_material method is used to position a material on a face.
The points
argument must contain 2, 4, 6 or 8 points. The points are used in pairs to describe where a point in the texture image is positioned on the Face. The first point in each pair is a 3D point in the model. The second point in each pair of points is a 2D point that gives the (u,v) coordinates of a point in the image to match up with the 3D point.
696 697 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 696 def position_material(*args) end |
#pushpull(distance, copy = false) ⇒ nil
The pushpull method is used to perform a push/pull on a face.
The distance is measured in the direction that the face normal is pointing.
728 729 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 728 def pushpull(distance, copy = false) end |
#reverse! ⇒ Sketchup::Face, false
The reverse! method is used to reverse the face’s orientation, meaning the front becomes the back.
752 753 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 752 def reverse! end |
#set_texture_projection(vector, frontside) ⇒ Boolean
This function never worked correctly. It’s not capable of controlling the position and orientation of the texture. In some cases it produced an invalid model. As of SketchUp 2021.1 the method simply raises NotImplementedError
.
The #set_texture_projection method is used to set the texture projection direction.
777 778 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 777 def set_texture_projection(vector, frontside) end |
#texture_positioned?(front) ⇒ Boolean
The #texture_positioned? method is used to check if the face has a texture that is positioned.
A texture is positioned when it’s not using the default texture coordinates.
When a user uses the Paint Bucket Tool to apply a material sampled from the Material Browser it will use default texture coordinates and not be positioned. It will be positioned if the user uses the Position Texture Tool.
When an API user uses Drawinglement#material= the texture is not positioned. It will be positioned when the API user uses #position_material. It it also positioned of the face was crafted via Geom::PolygonMesh.
814 815 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 814 def texture_positioned?(front) end |
#texture_projected?(front) ⇒ Boolean
The #texture_projected? method is used to check if the face has a texture that is projected.
A texture is projected when the user enables this property via the Position Texture Tool.
It is also projected when the API user passes a projection vector to #position_material.
839 840 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 839 def texture_projected?(front) end |
#uv_tile_at(position, front) ⇒ Array<Geom::Point3d>?
The #uv_tile_at method is used to get the corner positions (model and UV) of a UV tile.
The UV tile bounds the given reference point on the plane of the face. If the reference isn’t on the plane of the face it will be projected onto it.
The world coordinates are on the plane of the face unless the texture is projected. When the texture is projected the the world points are on an arbitrary plane that is perpendicular to the projection direction.
The returned coordinates are arranged to be compatible with #position_material.
Getting the bounds of the UV tile under the cursor:
The red quadrilateral represents the model points returned.
910 911 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 910 def uv_tile_at(position, front) end |
#vertices ⇒ Array<Sketchup::Vertex>
The vertices method is used to get an array of all of the vertices that bound the face.
934 935 |
# File 'lib/sketchup-api-stubs/stubs/Sketchup/Face.rb', line 934 def vertices end |